【问题标题】:How can i turn order by dynamic?如何通过动态转订单?
【发布时间】:2022-01-12 00:32:07
【问题描述】:

我已尝试使用条件 if 来订购此 sql

  FROM sgm_whatsapp
  WHERE `phone_number` = '51996268989' 
  IF(delivery_date > answer_date, ORDER BY delivery_date DESC, ORDER BY answer_date DESC);

它不工作。有人可以帮我吗?

【问题讨论】:

  • 可以使用sql case检查this
  • 这能回答你的问题吗? Can you add an if statement in ORDER BY?
  • 考虑到在这种情况下,正如引用者答案中所解释的那样,CASE 比 IF 函数更好
  • 为了将来参考,“它不工作”不是一个有用的问题描述

标签: mysql sql


【解决方案1】:

按 IF 排序

    FROM sgm_whatsapp
      WHERE `phone_number` = '51996268989' 
      order by       
   IF(delivery_date > answer_date, delivery_date , answer_date) desc;

【讨论】:

  • 工作。谢谢
【解决方案2】:
SELECT fields
FROM sgm_whatsapp
  WHERE `phone_number` = '51996268989' 
ORDER BY
CASE WHEN delivery_date > answer_date THEN delivery_date
ELSE answer_date 
END DESC

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-02
    • 1970-01-01
    • 2021-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-14
    • 1970-01-01
    相关资源
    最近更新 更多