【问题标题】:Select From multiple tables and relate with COUNT从多个表中选择并与 COUNT 关联
【发布时间】:2021-09-03 20:29:31
【问题描述】:

首先抱歉,我没有流畅的英语。

我想在 3 个不同的表中选择 3 行,其中两个没有外键/关系。

需要在一次查询中选择每个商店的顾客数量,以及这些商店的支付总额。

这是表格:

客户

商店

付款

我已经尝试过这些查询来获取每个商店的付款和每个商店的客户,但不知道如何在一个查询中统一:

付款/商店

SELECT count(a.payment_id) as alquileres, b.store_id 
FROM customer b, payment a
WHERE a.customer_id = b.customer_id 
GROUP BY b.store_id;

客户/商店

SELECT count(customer_id), store_id 
FROM customer
GROUP BY store_id;

但是当我在唯一查询中添加 count(customer_id) 时,结果不一样。

【问题讨论】:

  • 学习使用正确、明确、标准、可读的JOIN语法。

标签: mysql sql database select mysql-workbench


【解决方案1】:

您可以使用一个查询:

select c.store_id,
       count(distinct c.customer_id) as num_customers,
       count(p.payment_id) as num_payments
from customers c left join
     payments p
     on p.customer_id = c.customer_id
group by c.store_id;

【讨论】:

    猜你喜欢
    • 2010-10-11
    • 2011-10-06
    • 1970-01-01
    • 1970-01-01
    • 2013-02-02
    • 2017-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多