mysql - 获取日期并将日期标记为已启用的单个查询

标签 mysql

我有一个日期列表:

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/

相关文章:

mysql - 从子查询中返回与条件匹配的单个结果

MySQL 全文搜索列值?

php - 使用 mySQL 和 PHP 填充 <select>

mysql - wordpress 是否通过自动索引优化其数据库表?

mysql - 如何使用连接器/C++ 连接到远程 ipv6 mysql 服务器

MySQL 查询以检索完整的 URL slug

MYSQL命令启动错误

java - 连续查询数据库以进行更新 - java

mysql - 使用 LOAD DATA INFILE 导入 CSV?

PHP 和 Mysql 特殊字符