【发布时间】:2017-10-28 18:46:10
【问题描述】:
抱歉这个愚蠢的问题。我已经阅读了很多关于同一问题的主题,但仍然无法解决这个问题......
SELECT company_name, SUM(clicks)
FROM table1
WHERE code = 'ES'
GROUP BY 1
ORDER BY clicks DESC
LIMIT 100;
这会导致:
GROUP BY 列表中不存在表达式“clicks”
如果我试试这个:
SELECT company_name, SUM(clicks)
FROM table1
WHERE code = 'ES'
GROUP BY 1,2
ORDER BY clicks DESC
LIMIT 100;
这是我得到的:
无法按聚合进行分组。
如果我尝试对“点击”不进行聚合:
SELECT company_name, clicks
FROM table1
WHERE code = 'ES'
GROUP BY 1
ORDER BY clicks DESC
LIMIT 100;
错误:GROUP BY 列表中不存在表达式“clicks”
如果将点击添加到组中:
SELECT company_name, clicks
FROM table1
WHERE code = 'ES'
GROUP BY 1,2
ORDER BY clicks DESC
LIMIT 100;
结果不是我需要的:
Company_name | clicks
-------------+--------
company1 | 250
company1 | 340
company2 | 100
company2 | 300
company2 | 344
我怎样才能得到?:
Company_name | clicks
-------------+-------
company1 | 590
company2 | 744
谢谢!
【问题讨论】:
-
不能按
clicks排序,不能按组排序。 -
请标记您的 RDBMS。
-
对不起@McNets,这是一家私人公司的RDBMS。说不清楚。
-
感谢您的格式化。下次我会坚持的!
-
@MarceCastro 这没有意义。如果该公司编写和使用了一些 DBMS,但其他人不知道,那么发布任何关于它的问题都是不合时宜的,因为没有人能够回答。如果某个公司使用 MySql 是机密,那么不要命名这家公司,而是命名 MySql。