mysql可自定义的顺序

时间:2013-06-12 15:11:58

标签: php mysql

我通过settings表中的设置订购,我希望使用此选项更改order by,在下面的sql命令中,如果sortable字段为{{1},我想使用此选项如果settings为2则必须为ORDER BY DATE,则必须为sortable。 请帮我正确的sql命令

MYSQL:

ORDER BY ID

1 个答案:

答案 0 :(得分:3)

根据与OP的讨论,

注意回答略有变化。

ORDER BY 放在<{1}}之外,如下所示:

CASE

请注意,仅当... the first part of the query, then ... ORDER BY CASE (SELECT sortable FROM settings) WHEN 1 THEN topic_date WHEN 2 THEN id WHEN 3 THEN public END LIMIT 10 返回一个行时,此功能才有效。如果它返回多行,则会出错。如果它返回零行,则不会出现错误,但不会选择任何排序选项 - 它与说(SELECT sortable FROM settings)相同。