Autor Zpráva
Pesulap
Profil
Ahoj,
potřebuji udělat to, že z databáze knížek potřebuji vytáhnout pouze spisovatele ale pouze jednou , né několikrát .. Jako napřéklad Karel čapek se mi vytáhne 12krát protože má v databázy 12 knížek .. Nevíte jak upravit mysql dotaz
$dotaz=mysql_query("SELECT * FROM knihy ORDER BY jmeno ASC");

Aby se čapek vytáhl jen jednou ?

Díky mooc
date
Profil *
$dotaz=mysql_query("SELECT * FROM knihy ORDER BY jmeno ASC LIMIT 1");
Timy
Profil
Spíš bych použil DISTINCT.
Taps
Profil
Pesulap
můžeš také použít group
Pesulap
Profil
Takže $dotaz=mysql_query("SELECT * FROM knihy ORDER BY jmeno ASC GROUP");
Joker
Profil
Pesulap
SELECT * FROM knihy ORDER BY jmeno ASC GROUP
No to zrovna ne...
SELECT * FROM knihy ORDER BY jmeno ASC GROUP BY jmeno

Poznámka: ten návrh databáze se ovšem nejeví moc optimálně.
Tři otázky:
1. Nemůže nastat situace, kdy v databázi budou třeba dvě knížky od Čapka, ale u jedné bude napsaný autor "Karel Čapek", u druhé "K. Čapek" a aplikace to uvidí jako různé spisovatele?
2. Pokud budu mít knížku od Jana Nováka a druhou knížku od jiného Jana Nováka, pozná aplikace, že to jsou dva různí spisovatelé?
3. Co když budu chtít vložit do databáze knížku, která má více autorů?
lordfrikk
Profil
V tomto případě je nejvhodnější použít DISTINCT jak navrhoval Timy, ta funkce je přesně určeno pro případ, když chceš eliminovat duplikáty.

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: