簡體   English   中英

Oracle獲得唯一的年份和月份查詢

[英]Oracle get unique year and month in query

我有以下查詢,該查詢返回我正在尋找的結果,但事實上我無法按組工作:

select EXTRACT(month from datetime_insert) m, 
       EXTRACT(year from datetime_insert) y 
  from tst_result_main 
 order by datetime_insert

返回以下內容:

m    y
1    2006
1    2006
2    2006
2    2006
2    2007
2    2007

我正在尋找的結果:

m    y
1    2006
2    2006
2    2007

我嘗試了以下引發錯誤的操作:

select EXTRACT(month from datetime_insert) m,
       EXTRACT(year from datetime_insert) y 
  from tst_result_main 
 order by datetime_insert group by y, m

錯誤:

 ORA-00933: SQL command not properly ended
 00933. 00000 -  "SQL command not properly ended"
 *Cause:    
 *Action: Error at Line: 7 Column: 136

任何幫助,將不勝感激

您是否嘗試過類似DISTINCT的值:

select DISTINCT
    EXTRACT(month from datetime_insert) m
    , EXTRACT(year from datetime_insert) y 
    from tst_result_main

沒有聚合功能,您應該使用distinctary子句而不是分組

select DISTINCT
EXTRACT(month from datetime_insert) m
, EXTRACT(year from datetime_insert) y 
from tst_result_main
 order by y, m

嘗試這個 :

select EXTRACT(month from datetime_insert) m, EXTRACT(year from datetime_insert) y 
  from tst_result_main 
 group by EXTRACT(year from datetime_insert), EXTRACT(month from datetime_insert)
 order by y,m;

別名不能用於表達式group by

演示版

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM