首页 > 解决方案 > 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

但这不起作用,它给出了一个错误。

标签: mysql

解决方案


您正在寻找的是一个聚合查询。聚合函数对一组值进行操作。

在这里,我们的聚合函数是 a count(),因为我们试图计算每个桶中的所有匹配行,用 表示payment_id

select payment_method, count(*) as count from customer
     group by payment_method;

推荐阅读