gpt4 book ai didi

sql - 如何使用 GROUP BY 为不同列获取多个 SUM()

转载 作者:行者123 更新时间:2023-12-03 00:57:21 25 4
gpt4 key购买 nike

这就是我所拥有的:

SELECT     
SUBJECT_ID, SUM(SOMETABLE.COLUMN) AS HOURS, POINTS, SEMESTER_ID
FROM
SOME_TABLES
WHERE
(GROUP = (SELECT TOP (1) GROUP
FROM SOMETABLE2
WHERE (STUDENT_ID = 123)))
GROUP BY
SUBJECT_ID, POINTS, SEMESTER_ID
HAVING
(SUBJECT_ID = 782)

此查询返回:

enter image description here

我需要得到这个结果:

enter image description here

为了获得结果,我使用以下查询:

SELECT     
SUBJECT_ID, SUM(SOMETABLE.COLUMN) AS HOURS,
SUM(SOMETABLE3.COLUMN) AS POINTS, SEMESTER_ID
FROM
SOME_TABLES
WHERE
(GROUP = (SELECT TOP (1) GROUP
FROM SOMETABLE2
WHERE (STUDENT_ID = 123)))
GROUP BY
SUBJECT_ID, SEMESTER_ID
HAVING
(SUBJECT_ID = 12)

但它返回 SUM 而不包含 GROUP BY 语句 - 就像第二个屏幕截图一样,但有两次 16 分,而每学期应该有两行 8 分.

如何获得 SEMESTER_ID 的正确积分?有带有示例数据的脚本 在这篇文章下的评论中。

最佳答案

试试这个:

SELECT
SUBJECT_ID,SEMESTER)ID
,SUM(HOURS) as HOURS
,SUM(POINTS) as POINTS
FROM SOME_TABLES
WHERE SUBJECT_ID = 12
GROUP BY
SUBJECT_ID,SEMESTER)ID

关于sql - 如何使用 GROUP BY 为不同列获取多个 SUM(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33479673/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com