[英]SQL query, MAX date, group by
Can someone help me with a sql query? 有人可以帮助我进行SQL查询吗? I'm looking for the most recent date (datum).
我正在寻找最近的日期(基准)。 It has the same OBJID but not the same RADOMGID.
它具有相同的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
Thanks. 谢谢。
Do a GROUP BY
, with MAX
to find each OBJID's max datum: 用
MAX
进行GROUP BY
,以找到每个OBJID的最大数据:
select OBJID, max(DATUM)
from tablename
group by OBJID
If you want the whole row (with max datum), use NOT EXISTS
to exclude older rows: 如果要整行(具有最大原点),请使用
NOT EXISTS
排除较旧的行:
select *
from tablename t1
where not exists (select 1 from tablename t2
where t2.OBJID = t1.OBJID
and t2.datum > t1.datum)
Will return both rows if there's a tie. 如果有平局将返回两行。
all newest rows for every RADOMGID
每个
RADOMGID
所有最新行
select t1.* from yourtable t1
join (
select radomgid, max(Datum)
from yourtable t2
group by radomgid
) on t1.radomgid = t2.radomgid
If you want just the latest, assuming the table is called my_object_list 如果只需要最新版本,则假设该表名为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.