Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 4.07.2006 Ostrzeżenie: (0%)
|
Witam,
mam tabelę która posiada poza kolumnami trzymającymi dane, kolumnę zawierającą numer grupy typu int. Jak pobrać maksymalnie 5 rekordów z tej tabeli o takim samym numerze grupy ? Wiem że można by korzystać z LIMIT i ORDER BY. Ale ten sposób nie zadziała jeśli mam np 4 rekordy o groupid=1 i 4 rekordy o groupid=2. Wtedy zostaną pobrane 4 rekordy z jednej grupy i jeden z pozostałej grupy. Zależy mi na tym żeby pobrać maksymalnie 5 rekordów, ale koniecznie o tej samej grupie. Więc w wymienionym wyżej przypadki baza powinna zwrócić 4 rekordy. Jak ułożyć takie zapytanie ? Pozdrawiam |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zablokowani Postów: 120 Pomógł: 2 Dołączył: 4.11.2004 Ostrzeżenie: (10%)
|
A próbowałeś w ogóle takie zapytanie ułożyć?
Bo Twój opis jest cokolwiek dwuznaczny... Piszesz, że chciałbyś pobrać 5 rekordów o takim samym numerze grupy, ale boisz się, żeby zapytanie nie "dociągnęło" sobie danych z innej grupy, jeśli tych rekordów znajdzie <5. Otóż nie, nie zrobi nic ponad to, co jej nakażesz:
Jak widzisz, tutaj wyciągniemy maksymalnie 5 rekordów z tabeli 'test', w których 'id'=1. I nic więcej. |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 4.07.2006 Ostrzeżenie: (0%)
|
Przepraszam, ale ja nigdzie nie powiedziałem że pytam o konkretną grupę (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Jest mi wszystko jedno którą grupę wybierze. Gdyby id grupy było znane to rzecz jasna już warunek WHERE groupid ograniczył do danej grupy, a LIMIT 5 wybrał maksymalnie 5 rekordów, masz rację. Ale ja chcę pobrać rekordy o dowolnej grupie. Wyobraż sobie że mam drugą kolumnę position typu int, I moje zapytanie brzmi : SELECT FROM sometable ORDER BY position ASC LIMIT 5. Jak w takim wypadku wybrać elementy o tym samym groupid ? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Dzięki za wsparcie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Pozdrawiam |
|
|
|
![]() ![]() |
|
Aktualny czas: 21.12.2025 - 19:34 |