逻辑:
1) 当id&id1匹配,我想对DESC进行排序(例如,id=9是最高分数=400,id=1是第二高分数=150)
2) 在匹配行下面,我想要所有与按id ASC排序的匹配相同的id1(例如,id=10&id1=9将直接位于id=9&id1=9行下面)
**注意:id是唯一的,并且自动递增
原始数据:
id id1 score
1 1 150
2 1 70
3 3 80
4 3 250
5 3 800
6 3 560
7 7 100
8 7 195
9 9 400
10 9 35
期望输出:
id id1 score
9 9 400
10 9 35
1 1 150
2 1 70
7 7 100
8 7 195
3 3 80
4 3 250
5 3 800
6 3 560
以下是您的查询:
select
t1.id,
t1.id1,
t1.score
from
myTable t1
left join myTable t2 on t1.id1 = t2.id and t2.id = t2.id1
order by
t2.score desc,
t1.id=t1.id1 desc,
t1.id asc
sql-fiddle