在MySQL中等效于generate_series()
我需要进行查询并与一年中的所有日子一起加入,但是在我的数据库中没有日历表。
谷歌搜索后,我generate_series()
在PostgreSQL中找到了。MySQL有类似的东西吗?
我的实际表有这样的东西:
date qty1-1-11 3
1-1-11 4
4-1-11 2
6-1-11 5
但是我的查询必须返回:
1-1-11 72-1-11 0
3-1-11 0
4-1-11 2
and so on ..
回答:
这就是我的方法。它创建了从 2011-01-01 到 2011-12-31 的日期范围:
select date_format(
adddate('2011-1-1', @num:=@num+1),
'%Y-%m-%d'
) date
from
any_table,
(select @num:=-1) num
limit
365
-- use limit 366 for leap years if you're putting this in production
唯一的要求是 的行 应大于或等于所需范围的大小(在此示例中,> =
365行)。您很可能会将其用作整个查询的子查询,因此,在这种情况下, 可以是该查询中使用的表之一。
以上是 在MySQL中等效于generate_series() 的全部内容, 来源链接: utcz.com/qa/426389.html