2017-08-25 94 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

謝謝Eid幫助 – xcelm

回答

0

從組中刪除Tab.id通過解決它

3

使用下列內容:

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 

如果兩個表是相同的u能實現如下:

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