在MySQL

时间:2016-06-27 11:10:38

标签: php mysql sql database

我们假设我有下表:

example table

我需要'Shares'排序的'Company'列中的数字。

所以,例如:

  

ABC,INC:88624 + 5588 + 442214 + 11233

     

DEF公司:4556 + 444863 + 44601

有没有办法使用MySQL做到这一点?或者PHP?

8 个答案:

答案 0 :(得分:3)

聚合函数是最好的方法:

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

SUM()将对同一公司名称进行必要的计算。 GROUP BY将由公司展示。

如果您不想要特定的公司(仅限2家公司): 您可以添加WHERE Company = "ABC inc" OR "DEF Corp"

答案 1 :(得分:2)

USE GROUP BY

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

答案 2 :(得分:2)

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

答案 3 :(得分:1)

如果要列出所有Shares,可以使用group_concat和group by:

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

如果您想要分享总和,请使用:

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

答案 4 :(得分:1)

使用下面提到的查询

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

如果您不想要总和,只需要显示,请使用:

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

答案 5 :(得分:1)

你可以在sql中使用聚合函数 SUM()

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

答案 6 :(得分:1)

如果您想要总和,请使用sum()。如果您需要列表,请使用group_concat()

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

separator关键字允许您输入+

答案 7 :(得分:1)

使用此query

选择公司,SUM(股份) 来自table_name 按公司分组