MySQL结合了COUNT,MAX和SUM
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MySQL结合了COUNT,MAX和SUM,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2180字,纯文字阅读大概需要4分钟。
内容图文
在MySQL中,我想有一个额外的列来显示特定列的值之和.但是,我想求和的数字来自子查询,并且没有存储在单独的表中,如下所示:
(SELECT a.ID, MAX(a.COUNT_ID) AS MAX_COUNT FROM
(SELECT ID, COUNT(*) AS COUNT_ID
FROM my_table
GROUP BY COL1, COL2) a
GROUP BY COL1, COL2) b
这将输出类似:
ID MAX_COUNT
ABC 1
DEF 2
GHI 3
现在,我想要一个额外的列来显示MAX_COUNT的总和,如下所示(在所有行中都重复):
ID MAX_COUNT SUM_MAX_COUNT
ABC 1 6
DEF 2 6
GHI 3 6
实际目标实际上是显示MAX_COUNT占MAX_COUNT总数的百分比,即1 / 6、2 / 6和3/6.
我该怎么做呢?我已经尝试过进行CROSS JOIN,但是它不起作用:
SELECT * FROM
((SELECT a.ID, MAX(a.COUNT_ID) AS MAX_COUNT FROM
(SELECT ID, COUNT(*) AS COUNT_ID
FROM my_table
GROUP BY COL1, COL2) a
GROUP BY COL1, COL2) b
CROSS JOIN (SELECT SUM(b.MAX_COUNT)) AS c
错误:未知表’b’
例
表格示例:
CREATE TABLE TABLE1 (
COL1 varchar(255),
COL2 varchar(255),
DAY int,
HOUR int);
INSERT INTO TABLE1 VALUES
('X','Y',1,12),
('X','Y',1,13),
('X','Y',1,13),
('A','B',2,19),
('X','B',3,13),
('X','B',3,13);
现在,对于COL1和COL2的每种组合,我想要每个小时中此表中的行数:
SELECT COL1, COL2, HOUR, COUNT(*) AS COUNT_LINES
FROM TABLE1
GROUP BY DAY, HOUR, COL1, COL2;
输出以下内容:
COL1 COL2 HOUR COUNT_LINES
X Y 12 1
X Y 13 2
A B 19 1
X B 13 2
现在我想要,对于COL1和COL2的每个组合,最大为COUNT_LINES,所以我在子查询中使用上面的查询:
SELECT a.COL1, a.COL2, MAX(a.COUNT_LINES)
FROM
(SELECT COL1, COL2, HOUR, COUNT(*) AS COUNT_LINES
FROM TABLE1
GROUP BY DAY, HOUR, COL1, COL2) a
GROUP BY COL1, COL2;
输出以下内容:
COL1 COL2 MAX(COUNT_LINES)
A B 1
X B 2
X Y 2
现在,在最后一步中,我希望将MAX(COUNT_LINES)列的SUM放在单独的列中,如下所示:
COL1 COL2 MAX(COUNT_LINES) SUM(MAX(COUNT_LINES))
A B 1 5
X B 2 5
X Y 2 5
但这是我不知道该怎么做的部分.
解决方法:
尝试这个:
SELECT COL1,Max(COUNT_ID),Sum(SUM_MAX_COUNT) FROM(
SELECT COL1,
Count(*) AS COUNT_ID,
(SELECT Sum(Count(*))
FROM TABLE_NAME
GROUP BY COL1) AS SUM_MAX_COUNT
FROM TABLE_NAME
GROUP BY COL1)
GROUP BY COL1;
内容总结
以上是互联网集市为您收集整理的MySQL结合了COUNT,MAX和SUM全部内容,希望文章能够帮你解决MySQL结合了COUNT,MAX和SUM所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。