Jak zwrócić określone pola przy group by

Jak zwrócić określone pola przy group by
MI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 32
0

Potrzebuje zwróci wszystkie pola używając grupowanie tylko po trzech. id i value jest więcej więc mi zwraca że musi być w liści grupowania, można użyć max ale w tedy nie zwraca mi tego id co chce po wykluczeniue duplikatów. .

Kopiuj
select id, first_name, surname, birth_date, max(last_date), value  from insured group by first_name, surname, birth_date
katakrowa
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Chorzów
  • Postów: 1670
1

To zależy w jakiej bazie danych.

UglyMan
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2206
2

No ale tak się nie da, jak chcesz grupować, to nie możesz pokazać 5 róznych wartości dla id krtóre wchodzą w grupę. Możesz to obejść, działając funkcją agregującą na takim polu np MAX, ale wtedy ci pokaże maksymalna wartość takiego pola.

MI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 32
0
katakrowa napisał(a):

To zależy w jakiej bazie danych.

oracle

biela_
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: WPR
  • Postów: 136
1

Nie zwrócisz różnych id jak grupujesz, po to się grupuje dane żeby np zliczyć ile jest takich samych danych itd
wytłumacz lepiej co chcesz osiągnąć, bo to co napisałeś to mi się nie trzyma kupy

MI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 32
0
Tomek Pycia napisał(a):

No ale tak się nie da, jak chcesz grupować, to nie możesz pokazać 5 róznych wartości dla id krtóre wchodzą w grupę. Możesz to obejść, działając funkcją agregującą na takim polu np MAX, ale wtedy ci pokaże maksymalna wartość takiego pola.

zgadza się ale pewnie idzie to jakoś obejść . Jak usunąć duplikaty po tych trzech kolumnach do tego zwrócić ostatnią datę z odpowiednimi watościami

MI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 32
0
biela_ napisał(a):

Nie zwrócisz różnych id jak grupujesz, po to się grupuje dane żeby np zliczyć ile jest takich samych danych itd
wytłumacz lepiej co chcesz osiągnąć, bo to co napisałeś to mi się nie trzyma kupy

Chce usunąć duplikaty po first_name, surname, birth_date do tego ostatnia data zapisu i zwrócić odpowiednie kolumny id first_name .....

UglyMan
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2206
0

Ale to jest nielogiczne. Albo robisz, maks, min, avg itp albo nie dodajesz tych pól. może ty nie powinieneś używać group by tylko np funkcji okienkowych. Jaki problem leży u podstaw tego rozwiązania.

MI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 32
0
Tomek Pycia napisał(a):

Ale to jest nielogiczne. Albo robisz, maks, min, avg itp albo nie dodajesz tych pól. może ty nie powinieneś używać group by tylko np funkcji okienkowych. Jaki problem leży u podstaw tego rozwiązania.

Pisałem już chce znalażć nie duplikujące się wiersze first surname bitrh_date po ostatniej dacie zapisu

UglyMan
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2206
0

Czyli potrzebujesz wyciągnąć ostatnio wpis na każdego człowieka, czy każdego człowieka, który występuje tylko raz w bazie?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.