Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 162 Pomógł: 26 Dołączył: 19.01.2007 Ostrzeżenie: (0%)
|
Mam tabelę a w niej kolumny: user_id, record_id (primary key,autoincrement), oraz inne pola z danymi.
Potrzebuję wyjąć dla każdego usera jeden najstarszy rekord (czyli ten który ma najmniejszy record_id dla danego usera). Zapytanie ma zwracać tyle wierszy ile jest userów w każdym wierszu dane (pozostałe kolumny) z najstarszego rekordu. Zapytanie wygląda tak:
Zauważyłem, (MySQL 5.0) że za każdym razem dla każdego usera zwracany jest wynik z najmiejszym record_id pomimo, że w zapytaniu nie mam zdefiniowanego sortowania po record_id. Czy baza przyjmuje takie sortowanie domyślnie (bo record_id jest kluczem głównym)? Czy takie wyniki będą zwracane zawsze? Czy muszę wprowadzić do zapytania klauzulę ORDER BY i LIMIT 1? Zależy mi na szybkości dla dużej ilości rekordów. |
|
|
|
kitol Kolejność rekordów w GROUP BY 23.10.2007, 21:51:10
najtje Moim zdaniem to co wypisywane jest w wierszu i co ... 24.10.2007, 10:10:40
nevt Wg moich doświadczeń z MySQL5 pole klucza podstawo... 24.10.2007, 12:21:32
mwojcik Grupowanie w MySQLu nie dziala poprawnie, bo wedlu... 24.10.2007, 18:15:28 ![]() ![]() |
|
Aktualny czas: 21.12.2025 - 08:43 |