2014-12-04 24 views
0

我有一個返回的查詢:點心特定列PL

id | task | company | percent 
1 | a | abc  | 33.20 
2 | b | abc  | 13.70 
3 | c | xpt  | 33.20 
4 | d | xpt  | 20.10 

我想返回像這樣的查詢:

id | company | percent 
1 | abc  | 46.90 
3 | xpt  | 53.30 

這可能嗎?我怎樣才能做到這一點?

+1

[***你試過anyhting?***](http://whathaveyoutried.com) – Barranka 2014-12-04 18:21:37

+0

選擇ID,公司,從百分之... 郵你使用現在 – NorCalKnockOut 2014-12-04 18:21:43

+1

查詢您需要組如果你真的只想要分組的第一個ID,那會變得更加複雜。 – OldProgrammer 2014-12-04 18:23:10

回答

2

一個簡單group by與「分鐘」和「總和」聚集體應該工作

select 
    min(id) as id, 
    company, 
    sum("percent") as percent 
from 
    [yourtable] 
group by 
    company 

如StuartLC指出的那樣,「百分比」是一個保留字和必須逸出。

2

你會在非聚集的公司列需要兩個聚集了一羣由 - 一個用於MIN(ID)和另一個用於SUM(百分比)

SELECT MIN(id) AS id, 
     company, 
     SUM("percent") AS Percent 
FROM SomeTable 
GROUP BY company; 

注意percent保留並需要逃脫。 Sql Fiddle here

+1

呼籲轉義percent關鍵字。我錯過了。 – dave 2014-12-04 18:34:17