【问题标题】:Department wise salary without using GROUP BY不使用 GROUP BY 的部门明智工资
【发布时间】:2020-04-09 23:44:22
【问题描述】:

我需要在不使用 GROUP BY 子句的情况下获得所需的输出

CREATE TABLE #Dept
(
    DeptName VARCHAR(30),
    Salary INT
)

INSERT INTO #Dept VALUES ('A',100),('A',90),('A',80),('A',70),('A',60),('B',80),('B',20),('B',40)

预期输出:

DeptName   Salary
 A         400
 B         140

【问题讨论】:

  • 查看:GROUP BYSUM()
  • 你为什么大喊大叫?
  • 你对GROUP BY有什么意见?
  • Windowed SUM without ORDER BYDISTINCT 在这里会有所帮助,但问题是为什么?
  • 那么你的答案是什么?这是你的采访。

标签: sql sql-server tsql sql-server-2008 sql-server-2012


【解决方案1】:

没有Group By ... 似乎是一个奇怪的要求。

Select Distinct 
       DeptName
      ,Salary = sum(Salary) over (partition by DeptName) 
 From  #Dept

退货

DeptName    Salary
A           400
B           140

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    相关资源
    最近更新 更多