mysql – 依靠SQL中的一系列值

前端之家收集整理的这篇文章主要介绍了mysql – 依靠SQL中的一系列值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个表有两列 – 客户ID和他们购买的产品数量.

我会用什么sql语句来了解有多少客户购买了1个或更多产品,2个或更多产品,3个或更多产品等?

这可以在不使用交叉连接的情况下完成(我使用谷歌bigquery不支持).

最佳答案
如果您真的需要计算分别购买“一个或多个”和“两个或更多”的客户数量,您需要一个CASE表达式:

SELECT SUM(CASE WHEN NumOfProducts >= 1 THEN 1 ELSE 0 END) AS Purchased_1_or_more,SUM(CASE WHEN NumOfProducts >= 2 THEN 1 ELSE 0 END) AS Purchased_2_or_more,SUM(CASE WHEN NumOfProducts >= 3 THEN 1 ELSE 0 END) AS Purchased_3_or_more,SUM(CASE WHEN NumOfProducts >= 4 THEN 1 ELSE 0 END) AS Purchased_4_or_more,SUM(CASE WHEN NumOfProducts >= 5 THEN 1 ELSE 0 END) AS Purchased_5_or_more
FROM Customers

等等,无论你想要多少类别.

猜你在找的MySQL相关文章