gpt4 book ai didi

sql - 在 SQL Server 中按多列分组

转载 作者:行者123 更新时间:2023-12-04 19:08:51 25 4
gpt4 key购买 nike

我有一个表,其中除了一列外,有些行是相同的。我想按相同的行分组并取单列的平均值。

例如我有一张 table :

A   B   C   D
-------------
a b c 2
a b c 2
a b c 5
d e f 8
d e f 10

期望的结果:

A   B   C   D
-------------
a b c 3
d e f 9

我可以通过以下方式轻松做到这一点:

SELECT A, B, C, AVG(D)
FROM [table]
GROUP BY A, B, C

我的问题是我有很多列,手动将每一列键入 GROUP BY 很麻烦。例如,我想这样做但不可能:

SELECT (* but not D), AVG(D)
FROM [table]
GROUP BY (* but not D)

这两个问题是我不知道如何形成排除 D 的通配符,而且 GROUP BY 似乎不适用于通配符。

执行此操作的优雅方法是什么?

顺便说一句,原始表是由匹配非唯一值的左连接生成的。

最佳答案

不幸的是,没有一种神奇的方法可以做到这一点,但是使用 SSMS 可以使它变得更容易:

  • 右键单击表格
  • 脚本表为 ->
  • 选择 ->
  • 新查询窗口

这为您提供了一个格式化的 SELECT 列表,您可以从中删除聚合列并复制粘贴到您的 GROUP BY。这至少比从头开始要好一点。

关于sql - 在 SQL Server 中按多列分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48831260/

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