我有两个表abb
和abb_click
。组和计数返回SQL
abb
包含哪些对象的信息ident这是活动的。 abb_click
包含来自每个student_id的信息,关于每个ident。
我 “只是” 想算活跃的ident在abb_click
特定student_id数据。下面
的选择似乎只计算活动IDENT S,不采取任何担忧,如果IDENT是abb_click
。
你可以在这里看到小提琴:http://sqlfiddle.com/#!9/b7262/1
结果应该是: 为student_id数据945 - 2的活性的ident小号
问题:我该怎么办“调整“SELECT来计算有效ident s在表abb
加入abb_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'
非常整齐,工作得很好(额外的'和student_id = 945')。非常感谢您的时间和帮助。谢谢@Sander! – Per76