我有一個包含2列'id'和'name'的表格。 id是常規自動增量索引,名稱只是varchar。排序mysql結果。按col1排序,按col2排序
id name
1 john
2 mary
3 pop
4 mary
5 john
6 michael
7 john
8 will
我想這樣
8 will
7 john
5 john
1 john
6 michael
4 mary
2 mary
3 pop
標識的搜索結果進行排序是降序,但所有重複的名稱組合在一起。沒關係如果ASC更容易實現。如有必要,我可以在PHP中取消結果。
Regular ORDER BY name,id DESC首先對所有名稱進行排序,然後對id進行排序。這不是我想要的。我對字母順序的名字不感興趣。
我希望以DESC順序編號,如果有重複名稱,請將其分組。
p.s.我很抱歉這是一個重複的問題。
在你的結果中id是** not ** DESC –
在SQL'ORDER BY'中,通過逐一比較結果行來排序結果行。由於'5 john'在你想要的結果中的位置取決於'7 john'的位置,所以這將不起作用。我擔心沒有一個能夠滿足您的需求的關係構造。 –
@Alma Do Mundo:你說得對。 Id的字面不是按照DECS的順序。但有一個全局的DECS命令(8,7,6,4,3)和一組本地DECS命令(7,5,1)(4,2) – CoR