gpt4 book ai didi

sql - 列中具有相同值的行,将另一列中的所有值相加并显示 1 行

转载 作者:行者123 更新时间:2023-12-01 04:50:16 38 4
gpt4 key购买 nike

示例表用户:

    ID | USER_ID | SCORE | 
1 | 555 | 50 |
2 | 555 | 10 |
3 | 555 | 20 |
4 | 123 | 5 |
5 | 123 | 5 |
6 | 999 | 30 |

结果集应该是这样的
ID | USER_ID | SCORE | COUNT |
1 | 555 | 80 | 3 |
2 | 123 | 10 | 2 |
3 | 999 | 30 | 1 |

是否可以生成一个可以返回上表的sql,到目前为止我只能计算出现某些user_id的行,但不知道如何为每个用户求和和显示?

最佳答案

您在源数据和所需结果中都包含了一个名为“ID”的列,但我将假设这些 ID 值不相关并且仅表示行号或行号 - 否则问题没有意义.

在这种情况下,您可以简单地使用:

SELECT
USER_ID,
SUM(SCORE) AS SCORE,
COUNT(USER_ID) AS COUNT
FROM
<Table>
GROUP BY
USER_ID

如果您真的还想生成 ID 列,那么您如何执行此操作取决于所使用的数据库平台。例如,在 Oracle 上您可以使用 ROWNUM 伪列,在 SQL Server 上您将需要使用 ROW_NUMBER() 函数(它也适用于 Oracle)。

关于sql - 列中具有相同值的行,将另一列中的所有值相加并显示 1 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41936897/

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