Autor | Zpráva | ||
---|---|---|---|
tommyH Profil * |
#1 · Zasláno: 5. 3. 2011, 14:30:28
Mám tabulku s pěti řádky. V php se na ní dotazuji takto:
$dotaz = mysql_query("SELECT nazev,viditelnost,poradi,MAX(poradi) AS maxporadi,MIN(poradi) AS minporadi FROM rubriky ORDER BY poradi ASC"); |
||
panther Profil |
#2 · Zasláno: 5. 3. 2011, 14:32:30 · Upravil/a: panther
tommyH:
echo mysql_num_rows($dotaz); // vrátí opravdu 5? |
||
tommyH Profil * |
#3 · Zasláno: 5. 3. 2011, 14:36:47
Aha, vyhodí to jen 1ku ...
|
||
tommyH Profil * |
#4 · Zasláno: 5. 3. 2011, 15:56:56
Když vymažu toto: "MAX(poradi) AS maxporadi,MIN(poradi) AS minporadi" tak to vypíše všechny řádky takže chyba bude asi vtom, ale já vůbec netuším kde ..
|
||
Pietro Profil |
#5 · Zasláno: 5. 3. 2011, 16:29:41 · Upravil/a: Pietro
Daný dotaz obsahuje agregační funkce (manuál), díky kterým se vrací jen pouze jeden záznam (pokud není uvedena klauzule GROUP BY).
V jednom dotazu zkrátka tyto informace nedostanete. Takže buď rozdělit na dva: SELECT MAX(poradi) AS maxporadi, MIN(poradi) AS minporadi FROM rubriky; SELECT nazev,viditelnost,poradi FROM rubriky ORDER BY poradi ASC; Anebo použít poddotazy. Ty jsou ale řádově pomalejší. |
||
tommyH Profil * |
#6 · Zasláno: 5. 3. 2011, 16:57:35
Díky moc ! Opravdu to bylo tím. Sem vám vděčný.
|
||
Časová prodleva: 13 let
|
0