Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> SELECT MIN, druga wartosc
AoW
post
Post #1





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 3.08.2005

Ostrzeżenie: (0%)
-----


Witam,

sam nie wiem jak zaczac posta, zacmienie jakies mnie dopadlo. Mam (wydaje mi sie) banalne zadanie i mam problem:

Tabela:
  1. id czas user
  2. 1 10 1
  3. 2 11 2
  4. 3 23 2
  5. 4 12 3
  6. 5 10 3


Cel, posortowanie userow o najmniejszej wartosci i zalozeniem, ze jesli dwoch userow ma taka sama wartosc to "wyzej" bedzie ten o mniejszym ID.

Czyli wynik powinien byc taki (lp, user, czas, id):

  1. 1 10 1
  2. 3 10 5
  3. 2 11 2


Zapytanie:

  1. SELECT user, MIN(czas) AS czas, id FROM test GROUP BY user ORDER BY czas


Wynik

  1. 1 10 1
  2. 3 10 4
  3. 2 11 2


...dla usera numer 3 mysql wyswietla ID 4, a nie 5.

Pogubiłem się, proszę o podpowiedź.

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mmmmmmm
post
Post #2





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----


Widzę, że przychodzisz po gotowca. Nie chcesz się poduczyć...
To ci wyjaśnię:
1. To, że to zapytanie działa, to OK.
2. Następne tego typu wcale nie musi działać.
3. Dlatego że nie używsz SQL_MODE=ANSI, więc korzystasz z gównianego MySQL-owego grupowania, które jest zgodne z smym sobą i to chyba nie zawsze.
4. W zapytaniu z grupowaniem albo są pola po których się grupuje, albo stałe, albo funkcje agregujące. Nie ma innych. W ANSI SQL-u.
Czy więc jest `id` z twojego zapytania? Żadnym z powyższych... O * już nie wspomnę bo to totaln pomyłka...
Nie odnoś tego do siebie, bo jest tu wielu takich nieuków.
Raz to napiszę, a potem będę kopiował linka (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 28.12.2025 - 18:49