【问题标题】:Tricky MYSQL ORDER BY clause棘手的 MYSQL ORDER BY 子句
【发布时间】:2021-08-11 03:52:34
【问题描述】:

我有一个包含名字、姓氏和后续列的表格。我目前按以下顺序显示结果

ORDER BY followup IS NULL, followup asc, lastname

这会将有跟进的行放在最前面,跟进日期最接近今天。然后,如果后续日期为 NULL,则按姓氏排序。

我真正想要的是首先显示今天日期后一周内的后续活动,然后按姓氏显示 NULL 后续活动,然后是截止日期后一周内的其余后续活动。

不确定这对于 MYSQL 是否可行,可能需要 PHP 中的自定义排序函数。

任何帮助将不胜感激。

【问题讨论】:

    标签: mysql sql-order-by


    【解决方案1】:

    使用案例

    order by case when followup is null then concat('2',lastname)
                  when date_add(followup, interval 7 day) > current_date 
                  then concat('1',lastName)
                  else concat('3',lastName) end
    

    【讨论】:

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