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