[英]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中的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.