mysql - MYSQL求和一个计数值或求和一个名称值
问题描述
我需要找到一种方法来计算名称值然后对其求和。
有 2 个表的信息。他们彼此建立了关系(外键)。
对于每个客户,他显示他们的 payment_method 选择语句:
select payment_method
from Customer
输出:
payment_method
Mastercard
Visa
Amex
etc...
select payment_method
from Payment
输出:
Amex
Mastercard
Visa
所以我需要找出有多少客户使用 payment_method
所以我想从我的 SQL 语句中得到输出:Payment_method:
Amex 60 (people are using this)
Mastercard 80(people are using this)
Visa 120(people are using this)
输出只是我的观点应该寻找的一个例子
我尝试过的陈述是:
SELECT payment_method
ROUND (
(
LENGTH(payment_method)
- LENGTH ( REPLACE ( description, "value", "" ) )
) / LENGTH ("value")
) AS count
FROM customer
但这不起作用,它给出了一个错误。
解决方案
您正在寻找的是一个聚合查询。聚合函数对一组值进行操作。
在这里,我们的聚合函数是 a count()
,因为我们试图计算每个桶中的所有匹配行,用 表示payment_id
。
select payment_method, count(*) as count from customer
group by payment_method;
推荐阅读
- c# - CBFS c# - 从事件处理程序内的文件中读取一些字节
- python - Ubuntu 上的本机消息传递清单文件位置
- excel - 在 Excel 中,如何将一个单元格中的数字列表(例如 1、3、7)转换为相邻单元格中的虚拟变量(1)?
- codeigniter - 如何在表格中计算id和shows
- python - 无法在安装了 gevent 的情况下运行 Flask 应用程序
- java - 如何验证被测类内的交互?
- angular - 如何在 ngAfterViewChecked 循环中正确附加事件侦听器?
- php - 提交是成功的文本即使重新加载后也不去
- c++ - 在绘图循环中覆盖多个对象的 OpenGL 旋转
- javascript - 在特定部分查看时运行 jquery 函数