1

我在为语句建立 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,但这个数量是具有相同父级的行,我只想计算唯一的父级,如果有两行具有相同的父级,则只有具有最新日期计数的行。谁能给我一个提示,我可以如何改进查询以像我描述的那样工作?

4

1 回答 1

2

试试这个查询

SELECT 
   COUNT(DISTINCT Parent_id) 
FROM 
   person 
WHERE 
   date BETWEEN '2012-1-1' AND '2012-1-30' AND 
   status_id=1 

希望能帮助到你....

于 2013-04-23T08:09:25.290 回答