我在为语句建立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
,但是这个数量是具有相同父级的行,我希望只计算唯一的父级,如果有两个同一父级的行,则只有最新日期计数的行。任何人都可以给我一个提示,我可以像我描述的那样改进查询工作吗?
答案 0 :(得分:2)
尝试此查询
SELECT
COUNT(DISTINCT Parent_id)
FROM
person
WHERE
date BETWEEN '2012-1-1' AND '2012-1-30' AND
status_id=1
希望它有所帮助......