2017-08-25 5 views
0

として格納されている日付で、私は次のクエリを実行しようとしています:グループはVARCHAR2

SELECT TAB.week_end, 
    COUNT(TAB.id) 
FROM (
     SELECT C.week_end,    
      C.ID 
     FROM my_table C  
     WHERE C.week_end IS NOT NULL 
    ) TAB 
GROUP BY TAB.week_end, TAB.id 

期待される結果:私は取得しています何

week_end id 
2016-01 45000 
2016-02 61000 
2016-03 59000 

は次のとおりです。

week_end id 
2016-01 1 
2016-01 1 
2016-02 1 
2016-02 1 

を私は日付でグループ化するときの困難を知っています。しかし私の場合、日付はすでにvarchar2として保存されています。誰でもここで私を助けることができますか?

+0

単に 'GROUP BY TAB.week_end'? – jarlh

+0

グループからTab.idを削除してください –

+0

ありがとうございました – xcelm

答えて

3

使用、それを解決することで、グループからTab.idを削除します。

SELECT TAB.week_end, COUNT(TAB.id) 
FROM (SELECT C.week_end,    
     C.ID 
FROM my_table C  
WHERE C.week_end IS NOT NULL) TAB 
GROUP BY TAB.week_end 

の2つの表は、次のようにuは達成することができます同一の場合:

SELECT C.week_end, COUNT(C.id) 
FROM my_table C  
WHERE C.week_end IS NOT NULL 
GROUP BY C.week_end 
関連する問題