Second ORDER BY条件,如何将其限制为一个值?



我很难设计一个合适的SQL请求,我需要选择和排序(升序)"分数"总结了几个日期(这里是2个日期),并且当相等时,我只需要根据一个日期排序分数。

以下是我到目前为止所做的尝试:

SELECT SUM(score) 
FROM TABLE1 
WHERE planning_date = "2021/09/16" AND planning_date = "2021/09/15" 
ORDER BY SUM(score), SUM(score (BUT only for the case of planning_date = "2021/09/16")) ) 

你知道吗?

提前谢谢你

如果要返回两个不同日期的结果,则AND应该是OR。您也可以使用IN来匹配日期列表。

SUM()中使用CASE表达式将总和限制为特定日期。

SELECT SUM(score) 
FROM TABLE1 
WHERE planning_date IN ("2021/09/16", "2021/09/15")
ORDER BY SUM(score), SUM(CASE WHEN planning_date = "2021/09/16" THEN score END)