在SQL中汇总具有相同ID的行

时间:2013-11-05 23:57:12

标签: sql sql-server

假设我有下表:

Symbol| profit | person 
AAPL    +723     A
AAPL    -100     B
BBY     +123     A
NTAP    +513     A

我想通过利润选择前n个和下n个符号(忽略它是人A还是B)。因此,AAPL应该是第一位的,并且应该显示623的利润。

...在sql server

现在我正在做类似的事情:

SELECT TOP 15 sym profit FROM x
GROUP BY sym, profit
ORDER BY profit DESC

2 个答案:

答案 0 :(得分:3)

这应该有效:

(
SELECT TOP 15
       Symbol,
       SUM(Profit)
FROM YourTable
GROUP BY Symbol
ORDER BY SUM(Profit)
) UNION (
SELECT TOP 15
       Symbol,
       SUM(Profit)
FROM YourTable
GROUP BY Symbol
ORDER BY SUM(Profit) DESC
)

答案 1 :(得分:1)

使用GROUP BY

SELECT Symbol, SUM(profit) FROM the_table GROUP BY Symbol;

注意:如果需要,请添加WHERE子句以限制记录。