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 语句,您可以轻松地统计用户使用不同支付方式的数量,并进行进一步的数据分析。

SQL 查询用户使用支付方式统计:一对多和一对一关系

原文地址: https://www.cveoy.top/t/topic/m9Ff 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录