| Autor | Zpráva | ||
|---|---|---|---|
| PetraPP Profil |
#1 · Zasláno: 3. 11. 2014, 12:41:54
Vypisuji si data za pomocí
WHERE kategorie="23". Existuje možnost, aby se vypsali data na tento dotaz a pak data ostatní, zbytek co mám v DB?
|
||
| juriad Profil |
zruš WHERE (chceš prece všechna data) a nahraď to za ORDER BY (chceš nějak definovat pořadí).
ORDER BY kategorie="23" DESC Na konec ještě můžeš přidat řazení ostatních záznamů; třeba: ORDER BY kategorie="23" DESC, kategorie ASC Mimchodem, jaký je datový typ sloupce kategorie? Není to náhodou INT? V takovém případě bys uvozovky kolem číselné hodnoty neměla používat. |
||
| jefitto44 Profil |
#3 · Zasláno: 3. 11. 2014, 12:47:40
Môžeš tiež pridávať viacero kritérií zoradzovania, napr.
ORDER BY kategorie="23" DESC, name ASC, date DESC A tak ti z toho vyjde, že ti zoradí ešte aj produkty/články/bohviečo z kategórie 23 podľa mena abecedne napr... Inak ich rozadzuje tuším tak, ako sú v databáze |
||
| PetraPP Profil |
#4 · Zasláno: 3. 11. 2014, 12:52:24
Díky moc oběma! ORDER BY jsem používala spíše na jednoslovné příkazy, ale že se dá použít přímo i jako kategorie="23" jsem netušila. Díky moc ještě jednou!
|
||
| juriad Profil |
PetraPP:
Obecně vzato WHERE chce jakýkoli výraz, který vyhodnotí jako true/false. ORDER BY chce jakýkoli seznam výrazů, které se vracejí hodnotu; můžeš tedy provádět mnohem šílenější věci. V tomto případě s kategoriemi se porovnání vyhodnotí (protože je kontextem žádána hodnota) na jedničku nebo nulu. Třeba tato šílenost: ORDER BY CHAR_LENGTH(nazev) * 2 = (ASCII(nazev) - ASCII('a') + 1) DESC |
||
|
Časová prodleva: 11 let
|
|||
0