Reputation: 5636
I just want to show the dates, suppose if i select a date of 1st dec 2013
then we need to show next 7 days
like
2013-12-01 2013-12-02 2013-12-03 2013-12-04 2013-12-05 2013-12-06 2013-12-07
Here is mysql query
select
cast('2013-12-01' as date) AS `1`,
(cast('2013-12-01' as date) + interval 1 day) AS `2`,
(cast('2013-12-01' as date) + interval 2 day) AS `3`,
(cast('2013-12-01' as date) + interval 3 day) AS `4`,
(cast('2013-12-01' as date) + interval 4 day) AS `5`,
(cast('2013-12-01' as date) + interval 5 day) AS `6`,
(cast('2013-12-01' as date) + interval 6 day) AS `7`,
(cast('2013-12-01' as date) + interval 7 day) AS `8`,
(cast('2013-12-01' as date) + interval 8 day) AS `9`,
(cast('2013-12-01' as date) + interval 9 day) AS `10`,
(cast('2013-12-01' as date) + interval 10 day) AS `11`
It gives me all days upto 2013-02-11
but I want to skip those columns whose dayname = "Saturday" or "Sunday", how i can solve this.
I tried alot but failed.Hope you help me.
Thanks in advance.
Upvotes: 1
Views: 298
Reputation: 24134
Something like this:
select GROUP_CONCAT(dt)
FROM
(
select
(cast('2013-12-01' as date) + interval t.n day) dt
FROM
(
select 0 as n union all
select 1 as n union all
select 2 as n union all
select 3 as n union all
select 4 as n union all
select 5 as n union all
select 6 as n union all
select 7 as n union all
select 8 as n union all
select 9 as n union all
select 10 as n union all
select 11 as n union all
select 12 as n union all
select 13 as n) t
WHERE WEEKDAY((cast('2013-12-01' as date) + interval t.n day)) not in (5,6)
ORDER BY dt
LIMIT 7
) t1
Upvotes: 4