sách gpt4 ai đã đi

MySQL 对多个表中的行进行计数,返回完全相同的数量

In lại 作者:行者123 更新时间:2023-11-29 08:33:25 25 4
mua khóa gpt4 Nike

我使用以下 SQL 语句来获取两个不同表中的 COUNT() 行。唯一的问题是 payment_count upload_count 结果始终返回相同的值。

如果我仅从 payments 表中进行 COUNT() 计算,那么计数是准确的,只有当我从同一个语句中的两个表中进行计数时,两者的 COUNT() 都与 upload_count 相同。希望这是有道理的,我该如何做到这一点,以便计数是单独的?

LỰA CHỌN 
u.id,
u.name,
COUNT(p.id) as payment_count,
COUNT(b.id) as upload_count
FROM users as u
INNER JOIN payments as p
ON u.id = p.user_id
LEFT OUTER JOIN orders as o
ON u.id = o.user_id
AND o.order_status = 1
LEFT OUTER JOIN uploads as b
ON u.id = b.user_id
WHERE u.package != 1
AND o.id IS NULL
GROUP BY u.id
HAVING COUNT(p.id) >= 6
ORDER BY RAND()
LIMIT 10

1 Câu trả lời

COUNT() 将计算它遇到的每个非 NULL 值。它不关心该值是否不同。 COUNT(DISTINCT fieldname) 对不同值进行计数。如果您想计算唯一值,请使用 COUNT DISTINCT。

关于MySQL 对多个表中的行进行计数,返回完全相同的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15933227/

25 4 0
Bài viết được đề xuất: 使用 where 子句进行 2400 万行的 mysql 查询
Bài viết được đề xuất: Công cụ/thư viện phân tích nhật ký Python
Bài viết được đề xuất: mysql - 使用 Perl 转义 sql 查询错误消息
Bài viết được đề xuất: io - 我如何轮询 std::net::UdpSocket?
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com