2列上的Mysql顺序

标签 mysql date sql-order-by

我有一个包含两个日期的“事件”表:begin_date 和 end_date。 我不知道如何获取按开始日期和结束日期排序的事件列表。

即:如果我有 2 个这样的事件:

name => 'activity1', begin_date => 1:00AM, end_date => 3:00AM

name => 'activity2', begin_date => 2:00AM, end_date => 4:00AM

我喜欢得到:

activity1, 1:00AM, (begin_date)

activity2, 2:00AM, (begin_date)

activity1, 3:00AM, (end_date)

activity2, 4:00AM, (end_date)

这可能吗?我怎样才能在纯 SQL 中做到这一点?

最佳答案

SELECT t.name, t.CombinedDate
    FROM (SELECT name, begin_date AS CombinedDate
              FROM YourTable
          UNION ALL
          SELECT name, end_date AS CombinedDate
              FROM YourTable) t
    ORDER BY t.CombinedDate

关于2列上的Mysql顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8449074/

相关文章:

ruby - 为什么给时间加上一天会改变秒的小数部分?

linux - 如何在 Linux 中显示我当前的时间(服务器以 GMT 显示日期,但我的时间应该是 GMT+8)?

mysql - SQL根据子行值对表中的父行进行排序

mysql : Sort by id DESC but also sort by another column and ignore value 0

php - 如何使用 jquery 和 ajax 查询 mysql 数据库?

不带年份的 JavaScript 倒计时

mysql - 每天的sql查询

MySQL:选择按字数排序的行

mysql - 为什么服务器的时区会影响 MySQL 对 FROM_UNIXTIME 纪元的读取?

php - SQL> PHP>数组>输出为HTML-很多条件