[英]Refine a SQL query for getting count(*)
I have the following query that gets some results I would like to group by attribute 'state'. 我有以下查询,可以得到一些我想按属性“状态”分组的结果。 I tried different subquery but they didn't work and I'm a bit blocked.
我尝试了不同的子查询,但它们无法正常工作,我有点受阻。 The SQL is:
SQL是:
SELECT state, id_candidate_basic, MAX( DATE ) FROM `candidate_state`
WHERE `date` <= '2013-09-06 00:00:00' GROUP BY id_candidate_basic
ORDER BY `candidate_state`.`id_candidate_basic` DESC
This returns currently: 当前返回:
I would get a count(*) for each state. 我将获得每个状态的count(*)。 Example: F, 14 I, 10 O, 9
例如:F,14 I,10 O,9
SELECT state,
id_candidate_basic,
MAX( DATE ),
COALESCE(totalCount, 0) totalCount
FROM `candidate_state`
LEFT JOIN
(
SELECT state, COUNT(*) totalCount
FROM candidate_state
WHERE `date` <= '2013-09-06 00:00:00'
GROUP BY state
) ON candidate_state.state = b.state
WHERE `date` <= '2013-09-06 00:00:00'
GROUP BY id_candidate_basic
ORDER BY `candidate_state`.`id_candidate_basic` DESC
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.