• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

SQL polecenie group by dla kolumn z tekstem

0 głosów
351 wizyt
pytanie zadane 6 grudnia 2018 w SQL, bazy danych przez k222 Nałogowiec (30,150 p.)
Cześć, gdy używam polecenia group by w SQLu, to grupuje mi ono dane po danej kolumnie, dla reszty kolumn, aby były wyświetlane poprawnie trzeba użyć poleceń avg, sum, min, max... co ma sens dla liczb, bo jak już grupujemy, to pewnie po to, aby coś z tymi liczbami zrobić.

Mam jednak pytanie, odnośnie takiej sytuacji:

Mam tabelę: ID, imię, nazwisko, numer_zamówienia, numer_zamówionego_produktu (każde zamówienie może mieć kilka produktów), koszt produktu - grupuję ją po numerze zamówienia i obliczam sobie sumę kosztu. Chciałbym jednam mieć także ID, imię i nazwisko wypisane, jednak one się powtarzają. Czy jest jakieś lepszy / bardziej przejrzysty i naturalny sposób na zrobienie tego niż napisanie:
min(ID), min(imie), min(nazwisko) ?

Wiem, że użycie min czy max zadziała i będzie poprawne, bo dla danego numeru zamówienia dla wszystkich zamówionych produktów te dane są identyczne, jednak min kojarzy się z operacjami na liczbach, a nie z wybieraniem słowa.

Próbowałem kombinować z select distinct, ale bez sukcesu.

Da się więc inaczej, czy po prostu używać min / max i już?
komentarz 6 grudnia 2018 przez k222 Nałogowiec (30,150 p.)

Rzeczywiście, działa i wygląda o niebo lepiej niż pisanie minimów dla imienia - czegoś takiego szukałem. Dzięki laugh

1
komentarz 6 grudnia 2018 przez mbabane Szeryf (79,260 p.)
Dałem jako odp, żeby było elegancko.

1 odpowiedź

+1 głos
odpowiedź 6 grudnia 2018 przez mbabane Szeryf (79,260 p.)
wybrane 6 grudnia 2018 przez k222
 
Najlepsza

Zdaje się że tak:

select id, count(costam), imie, nazwisko
from tbl
 
group by costam, id, imie, nazwisko

Podobne pytania

+1 głos
2 odpowiedzi 1,184 wizyt
pytanie zadane 21 marca 2021 w SQL, bazy danych przez Paweł123 Nałogowiec (33,540 p.)
0 głosów
2 odpowiedzi 1,028 wizyt
pytanie zadane 1 grudnia 2018 w SQL, bazy danych przez hiper007 Stary wyjadacz (11,270 p.)
0 głosów
2 odpowiedzi 1,344 wizyt
pytanie zadane 27 listopada 2017 w SQL, bazy danych przez 123skiper Bywalec (2,170 p.)

93,667 zapytań

142,591 odpowiedzi

323,135 komentarzy

63,193 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...