繁体   English   中英

选择并在两列MySQL上排序

[英]Select and sort on two columns MySQL

所以,我的代码看起来像这样

mysql_query("SELECT * FROM threads WHERE forum_id = '$id' ORDER BY type,posted DESC") or                                 
die(mysql_error());

“ posted”是time()的值,并选择减少以将最新的值放在顶部。 “类型”包含1或2。如果为2,则将线程固定。 目前,它在发布后进行排序,但应在顶部(固定)的在底部。 我有没有解决的方法?

尝试:按ORDER BY type DESC, posted DESC

默认情况下,它升序排列。 您需要为两个字段指定排序顺序。

按文件订购

不要忘记order by中的asc / desc适用于每个单独的字段,而不适用于整个order by子句。

ORDER BY type DESC, posted ASC

MySQL还可以接受任意逻辑进行排序,因此对于更复杂的排序要求,您可能会遇到类似

ORDER BY IF(type=2, 0, 1) AS pinned ASC, posted DESC

只要任意逻辑返回可以被平凡排序的内容(例如数字或字符串),排序的复杂程度就没有限制。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM