MySQL存储过程,由DESC / ASC按顺序排序

时间:2017-11-13 15:25:15

标签: sql-order-by

SELECT C1,C2,C3 FROM Tbl
ORDER BY
IF (VariableA > VariableB , C1 DESC , C1 ASC);
  • 此处VariableA和VariableB是在
  • 中声明的变量
  • 存储过程

我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

这可能有帮助-

SELECT C1,C2,C3 FROM Tbl
ORDER BY
CASE WHEN VariableA > VariableB THEN C1 END DESC ,
CASE WHEN VariableA <= VariableB THEN C1 END ASC;

请注意,我们没有为每个CASE都包含ELSE,这意味着任何其他值都将返回NULL并从ORDER BY中丢弃。