2017-08-08 42 views
0

任何人都可以流利的MySQL和PostgreSQL翻譯這到MySQL?從postgres生成系列到mysql

SELECT * 
FROM generate_series(DATE_TRUNC('day', NOW() - interval '30 day'), 
          DATE_TRUNC('day', NOW()), 
          interval '1 day' 
          ) 

我知道generate_series()在MySQL中不存在。有沒有類似的功能?

回答

0

沒有等價物。 MySQL沒有CTE,generate_series(),甚至沒有窗口函數。

如果你有一個表,它是足夠大(在這種情況下,31行),你可以這樣做:

select (curdate() - interval (@rn := @rn + 1) day) as dte 
from t cross join 
    (select @rn := -1) 
limit 31;