【发布时间】:2021-04-12 12:45:01
【问题描述】:
我有一个 proc 需要根据参数按不同字段对查询进行排序。为了实现这一点,我为ORDER BY 命令创建了一个简单的case 语句,在我添加第二个排序字段之前效果很好。我确定这只是一个语法问题,但我似乎找不到关于这个问题的任何内容。
ORDER BY
CASE _sort
WHEN 'random' THEN RAND()
WHEN 'latest' THEN u.updated, ut.sort
WHEN 'alpha' THEN u.pageTitle, ut.sort
ELSE ut.sort
END
ASC
LIMIT _limit;
将, ut.sort 添加到每个WHEN 是引发错误的原因。删除后,proc 工作正常。
【问题讨论】:
标签: mysql sql-order-by case