我有一个日期列表:
1/1/2011
2/2/2011
3/3/2011
4/4/2011
5/5/2011
我需要取出“x”个日期并将其标记为已启用。
=> 获取最旧的 2 个,然后我需要
1/1/2011 - 0 (enabled)
2/2/2011 - 0
3/3/2011 - 1 (disabled)
4/4/2011 - 1
5/5/2011 - 1
=> 获取最旧的 3 个,然后我需要
1/1/2011 - 0 (enabled)
2/2/2011 - 0
3/3/2011 - 0
4/4/2011 - 1 (disabled)
5/5/2011 - 1
我可以这样:
select * from table order by date_column limit 2; - for 2 entries.
select * from table order by date_column limit 3; - for 3 entries.
但是如何在单个查询中根据日期值添加 1 或 0?有什么方法可以在单个查询中完成吗?
最佳答案
select
T1.DateColumn,
Case when Isnull(T2.DateColumn)
then 1
Else 0 end
as disabled
from table T1 left outer join
(select dateColumn from table
order by date_column asc limit 3) T2
On t1.dateColumn =t2.DateColumn
Order by t1.datecolumn asc
关于mysql - 获取日期并将日期标记为已启用的单个查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8128795/