MySQL排序列表问题
我有以下代码:MySQL排序列表问题,mysql,sql-order-by,Mysql,Sql Order By,我有以下代码: SELECT q21coding, COUNT(q21coding) AS Count FROM `tresults_acme` WHERE q21 IS NOT NULL AND q21 <> '' GROUP BY q21coding ORDER BY Count DESC 你会注意到另一个是倒数第二个——有没有办法确保无论计数大小,另一个总是在底部 谢谢 荷马是的,添加人工字段,1表示“其他”,0表示其他。 然后执行“ORD
SELECT q21coding, COUNT(q21coding) AS Count
FROM `tresults_acme`
WHERE q21 IS NOT NULL AND q21 <> ''
GROUP BY q21coding
ORDER BY Count DESC
你会注意到另一个是倒数第二个——有没有办法确保无论计数大小,另一个总是在底部
谢谢
荷马是的,添加人工字段,1表示“其他”,0表示其他。 然后执行“ORDER BY dummy,Count”。是有效的,但实际上不需要使用该函数 在MySQL中,您可以按
ORDER BY
caluse和q21coding='Other'
使用任何表达式:
... ORDER BY q21coding = 'Other', Count DESC
q21coding='Other'
表达式将返回1
如果为真,或0
如果为假。这将把带有q21coding='Other'
的行放在底部。很抱歉,如果我需要底部的两个始终是正面评论,然后是其他评论,那么进一步扩展一下,这可能吗?
ORDER BY IF(q21coding = 'Other', 1, 0) ASC, Count DESC
... ORDER BY q21coding = 'Other', Count DESC