【问题标题】:custom ORDER BY Clause - MySQL自定义 ORDER BY 子句 - MySQL
【发布时间】:2019-04-23 01:51:23
【问题描述】:

我有 2 列到 ORDER BY -- date, day ..

+------------------+---------------------+
| day_to_send      | date_to_send        |
+------------------+---------------------+
|     25           | 0000:00:00 00:00:00 |
|     18           | 0000:00:00 00:00:00 | 
|     11           | 0000:00:00 00:00:00 | 
|     NULL         | 2018-11-20 04:41:12 |
|     NULL         | 2019-04-11 10:50:12 |
|     NULL         | 2018-11-19 11:30:12 |
+------------------+---------------------+

输出应该是

 1. 2018-11-19 11:30:12
 2. 2018-11-20 04:41:12
 3. 2019-04-11 10:50:12
 4. 11
 5. 18
 6. 25

到目前为止,我已经尝试过 date ASC/DESCday ASC/DESC,但我无法以某种方式实现这一点.. 任何帮助将不胜感激。

->orderBy('date_to_send', 'ASC')
->orderBy('day_to_send', 'ASC')

我正在使用 Laravel 4

我的输出,我得到了什么

【问题讨论】:

  • date 列的数据类型是什么?
  • 日期时间@MadhurBhaiya
  • 所以你有 6 条记录要排序,3 条没有 day 列,3 条没有 date 列,对吧?
  • 我真的很怀疑。 MySQL日期时间格式值是YYYY-MM-DD HH:MM:SS格式,不是你描述的方式
  • @MadhurBhaiya 他可能只是为了问这个问题而以这种格式写日期。

标签: mysql laravel laravel-4


【解决方案1】:

好的,我找到了解决方案。如果将来有人需要,只需粘贴我的答案。由于我的day_to_send 列的datatype,排序无法正常工作。

我已将此列的 datatypevarchar 更改为 int 并应用了以下查询并且它有效..!

->orderBy('date_to_send', 'ASC')    
->orderBy('day_to_send', 'ASC')

感谢所有贡献的人..干杯

【讨论】:

    猜你喜欢
    • 2017-12-07
    • 1970-01-01
    • 2011-04-06
    • 2012-08-08
    • 2016-04-03
    • 1970-01-01
    • 2014-01-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多