Announcement

Collapse
No announcement yet.

Ein Datensatz pro Id: Bei max(value) und min(date)

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Ein Datensatz pro Id: Bei max(value) und min(date)

    Hallo,

    ich habe folgende Tabelle:



    Mein Ergebnis soll nur nuch die Id und die Oid beinhalten und zwar:
    - Jede Id darf nur einmal vorkommen
    - Es zählt das höhste value
    - Bei gleichen values das kleinste date

    So sollte das Result aussehen:



    Vielen Dank schonmal.

    so far - DiaEcho
    Zuletzt editiert von DiaEcho; 29.11.2007, 18:24. Reason: [gelöst]

  • #2
    Bei so einer guten Beschreibung erarbeitet am gerne eine Lösung!!!

    Code:
    create table demo as
    select 1 id, 10 oid, 1 value, to_date('01012007') dat from dual union
    select 1, 20, 2, to_date('02012007') from dual union
    select 2, 10, 1, to_date('03012007') from dual union
    select 2, 20, 1, to_date('04012007') from dual union
    select 3, 10, 3, to_date('05012007') from dual
    ;
    Code:
     
    select id, oid 
      from demo a
     where 7=7
       and dat = (select min(dat) from demo where id = a.id and value = a.value)
       and (id, value) in (select id, max(value) from demo group by id)
    ;
    Wenn was schief gehen kann, dann geht es auch schief bzw. wenn man sich einen Fehler nicht erklären kann und dem nicht auf den Grund geht, hat das immer schlimme Folgen.

    Comment

    Working...
    X