2016-06-27 19 views
3

獲取與GROUP BY行假設我有如下表:在MySQL

example table

我需要的數字由'Company'排序的列'Shares'

所以,例:

ABC,INC:88624 + 5588 + 442214 + 11233

DEF公司:4556 + 444863 + 44601

有沒有辦法做到這使用MySQL?或者也許PHP?

+1

GROUP_CONCAT? – jarlh

+0

'select company,sum(shares) from your_table group by company' –

回答

3

聚合函數是最好的方法:

SELECT SUM(shares), company 
FROM table_name 
GROUP BY company 

SUM()將對相同的公司名稱進行必要的計算。 GROUP BY將按公司顯示。

如果你想具體的公司不是所有(比如說2家公司只): 您可以或許添加WHERE Company = "ABC inc" OR "DEF Corp"

1

如果要列出所有的股票,你可以使用GROUP_CONCAT和組:

select company, group_concat(SHARES) 
from my_table 
group by company 

如果你想的份額,使用的總和:

select company, sum(SHARES) 
from my_table 
group by company 
1

下文提到的查詢

使用
select COMPANY, sum(shares) from table_name group by COMPANY ; 

如果你不想要總和,只需要它顯示,使用:

select COMPANY, GROUP_CONCAT(shares SEPARATOR '+')from  
table_name group by COMPANY 
2

使用GROUP BY

SELECT COMPANY,SUM(SHARES) FROM <TABLE> group by COMPANY; 
1

如果你想和u可以使用聚合功能SUM()在SQL

select COMPANY,SUM(SHARES) 
from ur_table 
group by COMPANY 
1

,使用sum()。如果你想有一個列表,然後使用group_concat()

select company, 
     sum(shares) as sum_shares, 
     group_concat(shares separator '+') as list_shares 
from t 
group by company; 

separator關鍵字允許你把一個+

2

SELECT COMPANY,SUM(SHARES) FROM <TABLE> group by COMPANY;

+0

學習如何寫出一個很好的答案:http://stackoverflow.com/help/how-to-answer –

1

使用本query

選擇COMPANY,SUM(股) 從TABLE_NAME 組由COMPANY