• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

两列组记录

mysql 来源:Moyshe Zuchmir 3次浏览

我有名为“invoices”的表。我想总结量和公司进行分组,并至今两列组记录

+------------+------------------+-------------+-----------+ 
| company_id | company   | date  | amount | 
+------------+--------------------------------+-----------+ 
| 1  | chevrolet  | 2017-11-18 | 100  | 
| 1  | chevrolet  | 2017-11-18 | -70  | 
| 1  | chevrolet  | 2017-11-25 | 50  | 
| 2  | mercedes   | 2017-04-01 | 30  | 
| 2  | mercedes   | 2017-04-01 | -30  | 
| 2  | mercedes   | 2017-09-01 | 50  | 
| 3  | toyota   | 2017-05-12 | 60  | 
+------------+------------------+-------------+-----------+ 

期望的结果是:

+------------+------------------+-------------+-----------+ 
| company_id | model_name  | date  | amount | 
+------------+--------------------------------+-----------+ 
| 1  | chevrolet  | 2017-11-18 | 30  | 
| 1  | chevrolet  | 2017-11-25 | 50  | 
| 2  | mercedes   | 2017-04-01 | 0  | 
| 2  | mercedes   | 2017-09-01 | 50  | 
| 3  | toyota   | 2017-05-12 | 60  | 
+------------+------------------+-------------+-----------+ 

我该怎么办呢?


===========解决方案如下:

你已经在英语规范在那里,它只是需要转换到SQL:

select company_id, model_name, date, sum(amount) as amount 
from invoices 
group by company_id, model_name, date 

在MySQL中,你可以(取决于它的配置)脱身,而不做GROUP BY行,你可能看到您的旅行这样SQLS通过MySQL的世界:

select company_id, model_name, date, sum(amount) as amount 
from invoices 

MySQL是由你..我个人倒总是建议把它放在明确,因为一些其他的DB做一个“隐式插入组自动分组“,并坚持标准的SQL使你的SQL知识更便携。您也可以“按组应始终隐”找到的强烈支持者的说法这,我承认,有其可取之:)


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)