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-03-15','Sun' );
INSERT INTO `dt_weekday` VALUES ('-14', '2026-03-14','Sat' );
INSERT INTO `dt_weekday` VALUES ('-13', '2026-03-13','Fri' );
INSERT INTO `dt_weekday` VALUES ('-12', '2026-03-12','Thu' );
INSERT INTO `dt_weekday` VALUES ('-11', '2026-03-11','Wed' );
INSERT INTO `dt_weekday` VALUES ('-10', '2026-03-10','Tue' );
INSERT INTO `dt_weekday` VALUES ('-9', '2026-03-09','Mon' );
INSERT INTO `dt_weekday` VALUES ('-8', '2026-03-08','Sun' );
INSERT INTO `dt_weekday` VALUES ('-7', '2026-03-07','Sat' );
INSERT INTO `dt_weekday` VALUES ('-6', '2026-03-06','Fri' );
INSERT INTO `dt_weekday` VALUES ('-5', '2026-03-05','Thu' );
INSERT INTO `dt_weekday` VALUES ('-4', '2026-03-04','Wed' );
INSERT INTO `dt_weekday` VALUES ('-3', '2026-03-03','Tue' );
INSERT INTO `dt_weekday` VALUES ('-2', '2026-03-02','Mon' );
INSERT INTO `dt_weekday` VALUES ('-1', '2026-03-01','Sun' );
INSERT INTO `dt_weekday` VALUES ('0', '2026-02-28','Sat' );
INSERT INTO `dt_weekday` VALUES ('1', '2026-02-27','Fri' );
INSERT INTO `dt_weekday` VALUES ('2', '2026-02-26','Thu' );
INSERT INTO `dt_weekday` VALUES ('3', '2026-02-25','Wed' );
INSERT INTO `dt_weekday` VALUES ('4', '2026-02-24','Tue' );
INSERT INTO `dt_weekday` VALUES ('5', '2026-02-23','Mon' );
INSERT INTO `dt_weekday` VALUES ('6', '2026-02-22','Sun' );
INSERT INTO `dt_weekday` VALUES ('7', '2026-02-21','Sat' );
INSERT INTO `dt_weekday` VALUES ('8', '2026-02-20','Fri' );
INSERT INTO `dt_weekday` VALUES ('9', '2026-02-19','Thu' );
INSERT INTO `dt_weekday` VALUES ('10', '2026-02-18','Wed' );
INSERT INTO `dt_weekday` VALUES ('11', '2026-02-17','Tue' );
INSERT INTO `dt_weekday` VALUES ('12', '2026-02-16','Mon' );
INSERT INTO `dt_weekday` VALUES ('13', '2026-02-15','Sun' );
INSERT INTO `dt_weekday` VALUES ('14', '2026-02-14','Sat' );
INSERT INTO `dt_weekday` VALUES ('15', '2026-02-13','Fri' );
INSERT INTO `dt_weekday` VALUES ('16', '2026-02-12','Thu' );
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.