如何通过特定列“混合”select
个查询结果?
我有以下查询:
SELECT * FROM list WHERE server='1' ORDER BY important DESC, id ASC
以上可以给我:
1. type1
2. type1
3. type1
4. type1
5. type2
6. type2
7. type2
8. type1
9. type2
10. type1
每一行都有一个type
列,我想要做的是混合结果以便
查询将考虑ORDER BY important DESC, id AS
,但也会将结果“混合”type
列
例如:
1. type1
5. type2
2. type1
6. type2
3. type1
7. type2
4. type1
9. type2
8. type1
10. type1
我尝试了什么:
SELECT * FROM list WHERE server='1' ORDER BY important DESC, id ASC, RAND(type)
答案 0 :(得分:0)
您在id
之后按important
排序,因此随机性永远不会生效。试试这个:
SELECT *
FROM list
WHERE server='1'
ORDER BY important DESC, rand();
这假设有多种类型具有相同的重要性。