mysql - 以下 SQL 查询是否有效?

标签 mysql sql performance database-performance

是否存在更好的方法来执行以下 SQL 查询?我感觉 table1 将被搜索两次,可能可以通过一些技巧来避免这种情况并提高查询效率,但我只是不知道如何做;(这是查询(在 MySQL 中):

SELECT a, SUM(count)
FROM table1
GROUP BY a
HAVING SUM(count) = (SELECT SUM(count) as total FROM table1 GROUP BY a ORDER BY total DESC LIMIT 1)

目标是返回主要累加的数字及其累加。

作为 table1 的两个字段表,如:

a,count
1,10
1,30
1,0
2,1
2,100
2,4
3,10
4,50
4,55

该数据样本的结果是:

2,105
4,105

提前致谢。

最佳答案

SELECT a, total FROM 
(SELECT a AS a, SUM(COUNT) AS total
FROM table1
GROUP BY a) AS xyz 
HAVING total = MAX(total)

希望这对你有用

关于mysql - 以下 SQL 查询是否有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16027902/

相关文章:

python - 将应用程序连接到 MySQL 数据库的最佳方式

mysql - SQL MAX 函数

sql - 如何将字符串 'ab,cd,ef' 反转为 'ef->cd->ab'

php - 使用sql注入(inject)从其他数据库中选择SQL

mysql - SQL:一段时间后删除字段值

c++ - boost Weak_Ptr : Destruction is more expensive than expected

java - Java 函数的递归版本在第一次调用时比迭代慢,但在调用之后更快。为什么是这样?

mySQL ODBC 5.1 问题 : Data source name not found and no default driver specified

javascript - 我需要将表格中的数据提取到 JavaScript 图表中

r - 使用 ggplot 绘制大量时间序列。可以加速吗?