我在为语句建立SQL查询时遇到了一个问题,该语句将计算一个表中的行数:
ID Date Status_id Parent_id
1 2012-1-1 2 1
2 2012-3-21 1 2
3 2012-3-6 1 1
4 2012-6-11 1 3
5 2012-1-7 2 1
6 2012-1-5 1 3声明:
SELECT COUNT(*)
FROM person
WHERE date BETWEEN '2012-1-1' AND '2012-1-30' AND status_id=1 给了我数字3,但在这个数量中是具有相同父项的行,我希望只有唯一的父项进行计数,如果有两行具有相同的父项,则只有具有最新日期计数的行。谁能给我一个提示,我如何改进查询,使其像我所描述的那样工作?
发布于 2013-04-23 16:09:25
尝试此查询
SELECT
COUNT(DISTINCT Parent_id)
FROM
person
WHERE
date BETWEEN '2012-1-1' AND '2012-1-30' AND
status_id=1 希望这能帮上忙。
https://stackoverflow.com/questions/16163849
复制相似问题