1
我工作的系统上添加标签到我的网站,现在这是我的“标签”表:当有相似的行时,获取最大列值的行吗?
URL | Tag | UID
example1.com humor 123
example1.com humor 342
example1.com humor 234
example1.com blog 123
example1.com blog 432
example1.com food 221
example2.com blog 432
我使用下面的查询,总结标签为每个站点:
SELECT *, COUNT(*) as SUM
FROM History
GROUP BY URL, UID
所以我得到:
URL | Tag | Sum
example1.com humor 3
example1.com blog 2
example1.com food 1
example2.com blog 1
最后(这是什么,我不知道该怎么做),我需要为每个分组的URL最大的总和,仅保留2排,所以我知道什么是执行l网站主题:
URL | Tag | Sum
example1.com humor 3
example1.com blog 2
example2.com blog 1
我该怎么做?
你的例子看起来不一致。第二个结果集只有一行'example1',第三个结果集有两个。 – Mat
'SUM(1)'通常写为'COUNT(*)'。 –
您的标签表需要一个主键。有3个“幽默”,2个“博客”和1个“食物”记录这一事实的意义何在?不止一次地说出事情并不会使事情变得更真实。 (URL,Tag)的组合应该是唯一的。当然,这会破坏问题的其余部分,但最好从准确的基础开始,一个基本原则是表格不应包含相同的行。 –