数据库管理系统:MySQL 8.0.29
这里有张桌子:
CREATE TABLE orders ( id INT, userId INT, tripType varchar(255) );
INSERT INTO `orders` (`id`, `userId`, `tripType`) VALUES
(1, 1, 'way'), (2, 2, 'way'), (3, 3, 'way'),
(4, 1, 'on-road'), (5, 2, 'on-road'), (6, 3, 'way');
SELECT * FROM orders;
如何计算一个样本中总共有多少用户完成的订单以及按类型计算的订单数量?
例如,要找出有多少,我按用户分组:
SELECT userId, COUNT(*) totalOrders FROM orders GROUP BY 1
要按类型找出有多少:
SELECT userId, tripType, COUNT(*) totalOrderByTripType FROM orders GROUP BY 1, 2
我想按国家/地区查看总和,按类型查看总和:
使用WITH ROLLUP对现有组进行汇总并
HAVING GROUPING(...)
清除不必要的汇总: