gpt4 book ai didi

mysql - 一个查询中有两个不同的计数

转载 作者:行者123 更新时间:2023-11-29 10:49:20 26 4
gpt4 key购买 nike

我有一个网页,显示每个用户(名字)收到的请求,这些请求根据 4 个单独的查询分为 4 个列表中的一个,这些查询依赖于 WHERE 语句来检查“状态”列(传入、 播放列表、旁列、已播放)。

此解决方案适用于“已播放”列表。

SELECT
t1.FirstName, count(*)
FROM
RequestsTable t1
WHERE t1.status = 'played'
GROUP BY t1.FirstName;

但是 WHERE 语句不允许它适用于其他 3 个列表中的请求。

4 个列表中的每一个都需要两个计数才能显示

i) 每个用户发出的请求总数。

ii) 每个用户发出的已“播放”请求的数量。

我所有使用 JOINS 和 CASE 语句的尝试都被 WHERE 语句击败,该语句将计数限制为 4 个列表中任意一个列表中的记录。

最佳答案

删除 WHERE 语句并将状态条件放入 COUNT 中:

SELECT
t1.FirstName,
count(*) as totalCount,
count(IF(t1.status = 'played',1,null)) as playedCount
FROM
RequestsTable t1
GROUP BY t1.FirstName;

关于mysql - 一个查询中有两个不同的计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44025945/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com