为了账号安全,请及时绑定邮箱和手机立即绑定

如何按每个组的最高值对组进行排序

如何按每个组的最高值对组进行排序

PHP
潇湘沐 2023-09-08 17:00:36
我有数据: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


查看完整回答
反对 回复 2023-09-08
  • 1 回答
  • 0 关注
  • 85 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信