我有一个数据库,其中包含公司名称列表和得分值。
我想按照相同的网址的最高总和来排序行。
我不确定如何正确解释。
我虽然这个MySQL查询可以正常工作select * from table order by url asc, total desc
但是它不会在顶部显示相同网址的总和。
url total
======= =======
ASOS 222
Tesco 11
ASOS 11111
Tesco 123
ASOS 22
Argos 12345
Argos 2
查询应按此顺序显示行
url total
======= =======
Argos 12345
Argos 2
ASOS 11111
ASOS 222
ASOS 22
Tesco 123
Tesco 11
答案 0 :(得分:4)
您可以在子查询中汇总,然后JOIN
汇总以使用ORDER BY
中的总计:
SELECT a.url,a.total
FROM YourTable a
JOIN (SELECT url,SUM(total) as gTotal
FROM YourTable
GROUP BY url) b
ON a.url = b.url
ORDER BY b.gTotal DESC,a.total DESC
修改:可能会在url
a.total
之前添加ORDER BY
,以防两个网址值之间的总计有关系,只取决于您的首选行为。< / p>
答案 1 :(得分:0)
我创建一个表并输入与您相同的数据,它对我来说很好。
你确定total是一个整数而不是一个字符串吗?
请在您的数据库磁带上进行操作,并在此处粘贴结果。
desc your_table