Autor Zpráva
web2000
Profil *
Ahoj,

Mám takovýto dotaz:

SELECT * FROM zaznam WHERE rubrika = $num ORDER BY dealer!=1, id_zaznam DESC";

DESC my teď řadí záznamy od nejnovějšího po nejstarší, ale potřeboval bych tohle klíčové slovo nahradit něčím co by my výsledky řadilo nahodile, ale nesmí to ovlivnit tuto část dealer!=1

Díky moc za pomoc.
Alphard
Profil
order by rand()
web2000
Profil *
SELECT * FROM zaznam WHERE rubrika = $num ORDER BY RAND () dealer!=1, id_zaznam DESC";

upravil jsem dotaz ale mysql mi hlásí chybu ?
Dero
Profil
Nejsem odborník v této oblasti, ale řekl bych, že správně je to následovně:

SELECT * FROM zaznam WHERE rubrika = $num ORDER BY RAND(), dealer<>1, id_zaznam DESC
krteczek
Profil
jestli se nepletu tak klauzule ORDER BY slouží k řazení výpisu takže si myslím že dealer měl být ještě pokračováním klauzule WHERE
$dotaz = "SELECT * FROM `zaznam` WHERE `rubrika` = " . $num . " AND `dealer`<>1 ORDER BY RAND(), `id_zaznam` DESC";
Kajman_
Profil *
ORDER BY dealer!=1, rand()
anode
Profil
V klauzuli WHERE může být libovolný výraz, tedy klidně dealer!=1. Jak říká Kajman_, správně je ORDER BY dealer!=1, RAND()
web2000
Profil *
Funkční zápis je tento: navíc DESC jsem dal pryč je to tam teď zbytečné

SELECT * FROM zaznam WHERE rubrika = $num ORDER BY dealer!=1, rand(), id_zaznam

Díky všem za rady.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0