2016-11-30 80 views
0

2016年1月至3月之間查詢所有星期日日期的查詢? 只輸出顯示的日期。2016年1月至3月之間查找mySQL中的所有星期日

| Sundays | 
|- - - - - -| 
| 2  | 
| 9  | 
| 16  | 
| 23  | 
| 30  | 
- - - - - - 

我找到這樣select ('2013-04-15' - interval dayofweek('2013-08-15') - 1 day) - interval (weekofyear('2013-04-15') - 1) * 7 day as SUNDAY; 但查詢只顯示一個星期天。

回答

0

要獲得如下查詢週日會爲你

select DATE_ADD('2016-01-01', INTERVAL ROW DAY) as Date, 
row+1 as DayOfMonth 
from 

     (
     SELECT @row := @row + 1 as row 
     FROM 
       (
       select 0 
       union all 
       select 1 
       union all 
       select 3 
       union all 
       select 4 
       union all 
       select 5 
       union all 
       select 6 
       ) t1, 

       (
       select 0 
       union all 
       select 1 
       union all 
       select 3 
       union all 
       select 4 
       union all 
       select 5 
       union all 
       select 6 
       ) t2, 
       (SELECT @row:=-1 
       ) t3 limit 31 
     ) b 
where 
DATE_ADD('2016-01-01', INTERVAL ROW DAY) 
between '2016-01-01' and '2016-03-31' 
and 
DAYOFWEEK(DATE_ADD('2016-01-01', INTERVAL ROW DAY))=1; 
+0

工作哇,,太長,,沒有爲這個簡單的查詢?你能向我解釋一下嗎?對不起,新手 –

+0

和那個查詢只顯示一月份.. –

相關問題