Autor | Zpráva | ||
---|---|---|---|
Igor Profil * |
#1 · Zasláno: 2. 9. 2011, 10:38:49
Dejme tomu, že mám dvě tabulky "ovoce" a "popis", které jsou navzájem propojené. Udělal jsem si několik příkazů na výběr jednoho záznamu (kde id je např. největší, nejmenší, předchozí, další, apod.) Všechny příkazy mi fungují, až na výběr záznamu s nejvyšší hodnotou id.
Zkoušel jsem příkaz SELECT MAX SELECT a.`id`,a.`kus`,a.`vaha`,b.`puvod` FROM ovoce AS a,popis AS b WHERE a.`id`=(select MAX(a.`id`)) AND a.`id` = b.`ovoce_id` ORDER BY id ASC LIMIT 0,1 Vrací příkaz s nejmenší hodnotou, místo největší. Příkaz sestavuji metodou v php a použití je tudíž omezené. Podmínka na výběr by měla být v části kde začíná WHERE, ne v části kde se píše SELECT sloupce FROM tabulka |
||
Tori Profil |
#2 · Zasláno: 2. 9. 2011, 11:14:34
A nestačí seřadit sestupně podle toho sloupec + LIMIT 1? (= bez té první poloviny where)
|
||
Igor Profil * |
#3 · Zasláno: 2. 9. 2011, 11:25:54
Tori:
Přestože, jsem DESC už jednou použil tak to mě nenapadlo. Díky. Teď už to všechno funguje :-). |
||
Leo Profil |
#4 · Zasláno: 2. 9. 2011, 11:29:14
Tori:
„A nestačí seřadit sestupně podle toho sloupec + LIMIT 1? (= bez té první poloviny where)“ Pokud se hodnoty id v tabulce neopakují (jsou unikátní) pak ano. |
||
Igor Profil * |
#5 · Zasláno: 2. 9. 2011, 16:14:57
Leo:
To id je jedinečné. A jinak kdyby nešlo o id, ale třeba o cenu, tak jak by si to udělal? Jen ze zvědavosti. |
||
Časová prodleva: 11 dní
|
|||
Kajman_ Profil * |
#6 · Zasláno: 13. 9. 2011, 16:12:01
|
||
Časová prodleva: 13 let
|
0