簡體   English   中英

SQL查詢,MAX日期,分組依據

[英]SQL query, MAX date, group by

有人可以幫助我進行SQL查詢嗎? 我正在尋找最近的日期(基准)。 它具有相同的OBJID,但不具有相同的RADOMGID。

BESADR  ARSMEDEL    METOD   DATUM       FNR         BYGGID  OBJID   RADOMGID

bladv   410         spar    20040930    40014686    1       14778   13640

bladv   340         m       19860505    40014686    1       14778   1026

謝謝。

MAX進行GROUP BY ,以找到每個OBJID的最大數據:

select OBJID, max(DATUM)
from tablename
group by OBJID

如果要整行(具有最大原點),請使用NOT EXISTS排除較舊的行:

select *
from tablename t1
where not exists (select 1 from tablename t2
                  where t2.OBJID = t1.OBJID
                    and t2.datum > t1.datum)

如果有平局將返回兩行。

每個RADOMGID所有最新行

select t1.* from yourtable t1
join (
   select radomgid, max(Datum)
   from yourtable t2
   group by radomgid
     ) on t1.radomgid = t2.radomgid 

如果只需要最新版本,則假設該表名為my_object_list

select BESADR, ARSMEDEL, METOD, max(DATUM) DATUM, 
       FNR, BYGGID, OBJID, RADOMGID
from my_object_list mol
Where Objid = '14778'
group by BESADR, ARSMEDEL, METOD, 
       FNR, BYGGID, OBJID, RADOMGID
having max(datum) = mol.datum;

暫無
暫無

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

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