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-09-24','Thu' );
INSERT INTO `dt_weekday` VALUES ('-14', '2026-09-23','Wed' );
INSERT INTO `dt_weekday` VALUES ('-13', '2026-09-22','Tue' );
INSERT INTO `dt_weekday` VALUES ('-12', '2026-09-21','Mon' );
INSERT INTO `dt_weekday` VALUES ('-11', '2026-09-20','Sun' );
INSERT INTO `dt_weekday` VALUES ('-10', '2026-09-19','Sat' );
INSERT INTO `dt_weekday` VALUES ('-9', '2026-09-18','Fri' );
INSERT INTO `dt_weekday` VALUES ('-8', '2026-09-17','Thu' );
INSERT INTO `dt_weekday` VALUES ('-7', '2026-09-16','Wed' );
INSERT INTO `dt_weekday` VALUES ('-6', '2026-09-15','Tue' );
INSERT INTO `dt_weekday` VALUES ('-5', '2026-09-14','Mon' );
INSERT INTO `dt_weekday` VALUES ('-4', '2026-09-13','Sun' );
INSERT INTO `dt_weekday` VALUES ('-3', '2026-09-12','Sat' );
INSERT INTO `dt_weekday` VALUES ('-2', '2026-09-11','Fri' );
INSERT INTO `dt_weekday` VALUES ('-1', '2026-09-10','Thu' );
INSERT INTO `dt_weekday` VALUES ('0', '2026-09-09','Wed' );
INSERT INTO `dt_weekday` VALUES ('1', '2026-09-08','Tue' );
INSERT INTO `dt_weekday` VALUES ('2', '2026-09-07','Mon' );
INSERT INTO `dt_weekday` VALUES ('3', '2026-09-06','Sun' );
INSERT INTO `dt_weekday` VALUES ('4', '2026-09-05','Sat' );
INSERT INTO `dt_weekday` VALUES ('5', '2026-09-04','Fri' );
INSERT INTO `dt_weekday` VALUES ('6', '2026-09-03','Thu' );
INSERT INTO `dt_weekday` VALUES ('7', '2026-09-02','Wed' );
INSERT INTO `dt_weekday` VALUES ('8', '2026-09-01','Tue' );
INSERT INTO `dt_weekday` VALUES ('9', '2026-08-31','Mon' );
INSERT INTO `dt_weekday` VALUES ('10', '2026-08-30','Sun' );
INSERT INTO `dt_weekday` VALUES ('11', '2026-08-29','Sat' );
INSERT INTO `dt_weekday` VALUES ('12', '2026-08-28','Fri' );
INSERT INTO `dt_weekday` VALUES ('13', '2026-08-27','Thu' );
INSERT INTO `dt_weekday` VALUES ('14', '2026-08-26','Wed' );
INSERT INTO `dt_weekday` VALUES ('15', '2026-08-25','Tue' );
INSERT INTO `dt_weekday` VALUES ('16', '2026-08-24','Mon' );
Author & Instructor at plus2net
I write and maintain practical tutorials on Python, PHP, SQL, JavaScript, HTML, jQuery, and web development at plus2net. The tutorials focus on clear explanations, working examples, and code that readers can test and adapt while learning.