DAYOFWEEK(date)
Example
SELECT DAYOFWEEK('2016-05-06')# Output is 6
1 = Sunday , 2 = Monday, 3 = Tuesday, 4 = Wednesday , 5 = Thursday, 6 = Friday, 7 = Saturday
SELECT id,date,weekday, dayofweek(date) as dayofweek
FROM dt_weekday
WHERE `date` BETWEEN DATE_SUB( CURDATE( ) ,INTERVAL (dayofweek(CURDATE())-2) DAY ) AND CURDATE( )
Above query will collect records starting from Monday and ending with today. For example if today is Tuesday then you will get two records ( of Monday and Tuesday ) SELECT DATE_SUB( CURDATE( ) ,INTERVAL (dayofweek(CURDATE())-2) DAY )
Please read the tutorial on last x day's record in part 1 of this tutorial. Here we will develop a query to get records of weekdays of the present week.
Monday = 0, Tuesday = 1 and so on ...
Here is a simple query
SELECT WEEKDAY( '2014-08-15' )
Output of above query is 4 . (15th Aug 2014 is Friday).
SELECT id, DATE, weekday, WEEKDAY( CURDATE( ) ) AS weekday
FROM dt_weekday
WHERE `date` BETWEEN DATE_SUB( CURDATE( ) , INTERVAL( WEEKDAY( CURDATE( ) ) ) DAY ) AND CURDATE( )
SELECT id, DATE, weekday, DAYOFWEEK( CURDATE( ) ) AS dayofweek
FROM dt_weekday
WHERE `date`
BETWEEN DATE_SUB( CURDATE( ) , INTERVAL (dayofweek(CURDATE())+5)
DAY )
AND DATE_SUB( CURDATE( ) , INTERVAL (dayofweek(CURDATE()))
DAY )
SELECT id, DATE, weekday, DAYOFWEEK( CURDATE( ) ) AS dayofweek
FROM dt_weekday
WHERE `date`
BETWEEN DATE_SUB( CURDATE( ) , INTERVAL( DAYOFWEEK( CURDATE( ) ) +12 )
DAY )
AND DATE_SUB( CURDATE( ) , INTERVAL( DAYOFWEEK( CURDATE( ) ) +7 )
DAY )
CREATE TABLE IF NOT EXISTS `dt_weekday` (
`id` varchar(3) NOT NULL,
`date` date NOT NULL,
`weekday` varchar(3) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `dt_weekday` VALUES ('-15', '2026-04-29','Wed' );
INSERT INTO `dt_weekday` VALUES ('-14', '2026-04-28','Tue' );
INSERT INTO `dt_weekday` VALUES ('-13', '2026-04-27','Mon' );
INSERT INTO `dt_weekday` VALUES ('-12', '2026-04-26','Sun' );
INSERT INTO `dt_weekday` VALUES ('-11', '2026-04-25','Sat' );
INSERT INTO `dt_weekday` VALUES ('-10', '2026-04-24','Fri' );
INSERT INTO `dt_weekday` VALUES ('-9', '2026-04-23','Thu' );
INSERT INTO `dt_weekday` VALUES ('-8', '2026-04-22','Wed' );
INSERT INTO `dt_weekday` VALUES ('-7', '2026-04-21','Tue' );
INSERT INTO `dt_weekday` VALUES ('-6', '2026-04-20','Mon' );
INSERT INTO `dt_weekday` VALUES ('-5', '2026-04-19','Sun' );
INSERT INTO `dt_weekday` VALUES ('-4', '2026-04-18','Sat' );
INSERT INTO `dt_weekday` VALUES ('-3', '2026-04-17','Fri' );
INSERT INTO `dt_weekday` VALUES ('-2', '2026-04-16','Thu' );
INSERT INTO `dt_weekday` VALUES ('-1', '2026-04-15','Wed' );
INSERT INTO `dt_weekday` VALUES ('0', '2026-04-14','Tue' );
INSERT INTO `dt_weekday` VALUES ('1', '2026-04-13','Mon' );
INSERT INTO `dt_weekday` VALUES ('2', '2026-04-12','Sun' );
INSERT INTO `dt_weekday` VALUES ('3', '2026-04-11','Sat' );
INSERT INTO `dt_weekday` VALUES ('4', '2026-04-10','Fri' );
INSERT INTO `dt_weekday` VALUES ('5', '2026-04-09','Thu' );
INSERT INTO `dt_weekday` VALUES ('6', '2026-04-08','Wed' );
INSERT INTO `dt_weekday` VALUES ('7', '2026-04-07','Tue' );
INSERT INTO `dt_weekday` VALUES ('8', '2026-04-06','Mon' );
INSERT INTO `dt_weekday` VALUES ('9', '2026-04-05','Sun' );
INSERT INTO `dt_weekday` VALUES ('10', '2026-04-04','Sat' );
INSERT INTO `dt_weekday` VALUES ('11', '2026-04-03','Fri' );
INSERT INTO `dt_weekday` VALUES ('12', '2026-04-02','Thu' );
INSERT INTO `dt_weekday` VALUES ('13', '2026-04-01','Wed' );
INSERT INTO `dt_weekday` VALUES ('14', '2026-03-31','Tue' );
INSERT INTO `dt_weekday` VALUES ('15', '2026-03-30','Mon' );
INSERT INTO `dt_weekday` VALUES ('16', '2026-03-29','Sun' );
Author
🎥 Join me live on YouTubePassionate about coding and teaching, I publish practical tutorials on PHP, Python, JavaScript, SQL, and web development. My goal is to make learning simple, engaging, and project‑oriented with real examples and source code.