繁体   English   中英

在一个 SQL 查询中对同一列中相同类型的不同值求和

[英]Sum different values of same type in same column in one SQL query

目前我正在执行以下操作以计算列中不同语言的付款方式:

$sql = "SELECT `payment`, count(*) as number FROM Test GROUP BY `payment` ";

结果:

Cash 2
Bar 4
Credit-Card 5
Kreditkarte 8
Invoice 12
Rechnung 27

任何想法如何在一个 SQL 查询中对不同语言的相同支付方式求和以获得以下内容,而括号中的部分显然没有:

Bar 6 (sum of Cash and Bar)
Kreditkarte 13 (sum of Credit-Card and Kreditkarte)
Rechnung 39 (sum of Invoice and Rechnung)

表名:测试

payment       
===========
Cash
Bar
Credit-Card
Kreditkarte
Invoice
Rechnung

使用CASE表达式将'Cash'更改为'Bar''Credit-Card'更改为'Kreditkarte''Invoice'更改为'Rechnung'并按其结果分组:

SELECT CASE payment
         WHEN 'Cash' THEN 'Bar'
         WHEN 'Credit-Card' THEN 'Kreditkarte'
         WHEN 'Invoice' THEN 'Rechnung'
         ELSE payment
       END AS payment, 
       COUNT(*) AS number 
FROM Test 
GROUP BY 1;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM