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