1

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たが、この量は同じ親を持つ行です。一意の親のみをカウントし、同じ親を持つ2つの行がある場合は、最新の日付を持つ行のみをカウントします。説明したようにクエリを改善する方法を誰かに教えてもらえますか?

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 に答える