我有数据:query url score a www.google.com 3 a www.facebook.com 2 a www.google.com 1我想按域对条目进行“分组”,然后按每个组的最高分对域组进行排序(描述),这样我得到:query url score a www.google.com 3 a www.google.com 1a www.facebook.com 2 尝试: select * from table order by Score desc, url asc 不起作用。它给出(没有明显变化):query url score a www.google.com 3 a www.facebook.com 2 a www.google.com 1
1 回答
眼眸繁星
TA贡献1873条经验 获得超9个赞
您可以使用窗口函数 - 如果您运行的是 MySQL 8.0:
select *
from mytable
order by max(score) over(partition by url) desc, score desc
在早期版本中,一个选项使用子查询:
select *
from mytable t
order by
(select max(score) from mytable t1 where t1.url = t.url) desc,
score desc
- 1 回答
- 0 关注
- 85 浏览
添加回答
举报
0/150
提交
取消