gpt4 book ai didi

mysql - 对返回的 SQL 进行分组和计数

转载 作者:太空宇宙 更新时间:2023-11-03 11:59:57 25 4
gpt4 key购买 nike

我有两个表 abbabb_click

abb 包含哪个对象 ident 处于事件状态的信息。 abb_click 包含来自每个 student_id 的关于每个 ident 的信息。

我“只是”想计算 abb_click 中特定 student_id 的事件 ident

下面的 SELECT 似乎只计算事件的 ident,如果 identabb_click 中则不关心。

你可以在这里看到 fiddle :http://sqlfiddle.com/#!9/b7262/1


结果应该是:对于 student_id 945 - 2 个活跃的ident

问题:如何“调整”SELECT 以计算表 abb 中的事件 identabb_click?


SELECT t.student_id, number_of_idents
FROM `abb_click` AS t
INNER JOIN
(SELECT ident, COUNT(ident) as number_of_idents FROM `abb` AS k
WHERE k.active = '1'
) AS t3
ON t.ident = t3.ident
WHERE t.student_id = '945'
GROUP BY t.student_id
ORDER BY number_of_idents ASC;

abb

bid, ident, active

abb_click

kid, ident, student_id, click

数据到表abb

1, 'ma53', 1 
2, 'ma664', 1
3, 'ma779', 0
4, 'ma919', 1

数据到表 abb_click

1, 'ma53', 945, 'E'
2, 'ma53', 945, 'E'
3, 'ma53', 945, 'C'
4, 'ma664', 945, 'C'
5, 'ma664', 945, 'A'
6, 'ma664', 945, 'E'
7, 'ma779', 945, 'A'

最佳答案

我相信这应该可以满足您的需求。

select student_id, COUNT(distinct ac.ident) as active_idents
from abb_click ac
join abb on abb.ident = ac.ident
where abb.active = 1
--and student_id = 945
group by student_id

关于mysql - 对返回的 SQL 进行分组和计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29952955/

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