SQL 查询用户使用支付方式统计:一对多和一对一关系
SQL 查询用户使用支付方式统计:一对多和一对一关系
假设您有两个数据库表:
table1:包含用户 ID 和订单 ID,这两个字段是一对多的关系。table2:包含订单 ID 和支付方式,这两个字段是一对一的关系。
以下 SQL 语句可以查询用户使用不同支付方式的数量:
1. 查询使用支付方式 '1' 的用户数量:
SELECT COUNT(DISTINCT user_id) FROM table1
WHERE order_id IN (SELECT order_id FROM table2 WHERE payment_method = '1')
2. 查询使用支付方式 '2' 的用户数量:
SELECT COUNT(DISTINCT user_id) FROM table1
WHERE order_id IN (SELECT order_id FROM table2 WHERE payment_method = '2')
3. 查询同时使用了支付方式 '1' 和 '2' 的用户数量:
SELECT COUNT(DISTINCT user_id) FROM table1
WHERE order_id IN (SELECT order_id FROM table2 WHERE payment_method = '1')
AND order_id IN (SELECT order_id FROM table2 WHERE payment_method = '2')
解释:
COUNT(DISTINCT user_id):统计不同用户 ID 的数量。IN (SELECT ...):筛选出满足条件的订单 ID。payment_method = '1'或payment_method = '2':根据支付方式筛选订单。AND:同时满足两个条件。
通过这些 SQL 语句,您可以轻松地统计用户使用不同支付方式的数量,并进行进一步的数据分析。
原文地址: https://www.cveoy.top/t/topic/m9Ff 著作权归作者所有。请勿转载和采集!