Autor | Zpráva | ||
---|---|---|---|
Jakub46548 Profil * |
Ahoj.
Potřebuji vypsat všechny názvy - ale jen jedenkrát - bez duplicit. Mám tabulku, kde jsou sloupce ID a Název. ID - auto increment, PRIMARY Název - varchar(100) Když jsem neměl sloupec ID, tak se mi vypsání záznamů pomocí distinct podařilo. Ale se sloupcem ID to již nechodí. Mohl byste někdo poradit? |
||
Taps Profil |
#2 · Zasláno: 5. 2. 2011, 18:32:35
Jakub46548:
tak při zjištování duplicit nepoužívej sloupec ID.... |
||
Jakub46548 Profil * |
#3 · Zasláno: 5. 2. 2011, 18:33:11
potřebuji ho pak dále při výpisu.
|
||
Taps Profil |
#4 · Zasláno: 5. 2. 2011, 18:35:14
Jakub46548:
zkus ukázat zdrojový kod |
||
Jakub46548 Profil * |
#5 · Zasláno: 5. 2. 2011, 18:37:48
$select=mysql_query("SELECT DISTINCT nazev,id FROM tabulka) or die(mysql_error()); To si vypisuji do selectu, kde value je ID. |
||
Jakub46548 Profil * |
#6 · Zasláno: 5. 2. 2011, 18:45:18
-- -- Struktura tabulky `test` -- CREATE TABLE IF NOT EXISTS `test` ( `id` mediumint(9) NOT NULL AUTO_INCREMENT, `nazev` varchar(100) COLLATE utf8_czech_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci AUTO_INCREMENT=4 ; -- -- Vypisuji data pro tabulku `test` -- INSERT INTO `test` (`id`, `nazev`) VALUES (1, 'jahoda'), (2, 'jahoda'), (3, 'merunka'); $select=mysql_query("SELECT DISTINCT nazev,id FROM test") or die(mysql_error()); while($r=mysql_fetch_assoc($select)){ echo $r[nazev]; } Když z dotazu vymažu ID, tak to funguje, ale s ID ne. |
||
Tori Profil |
#7 · Zasláno: 5. 2. 2011, 19:27:43 · Upravil/a: Tori
Našla jsem tuhle možnost, vypadá zajímavě:
select *, count(nazev) 'cnt' from `test` group by nazev having cnt >=1; edit: Musí se navíc vytvořit dočasná tabulka, takže to trochu zpomaluje. Pokud nepotřebujete řazení (které je u GROUP BY automaticky), přidejte "ORDER BY NULL". |
||
▼Jakub46548 Profil * |
#8 · Zasláno: 5. 2. 2011, 19:31:17
Právě teď, se mi to podařilo pomocí:
SELECT DISTINCT nazev,id FROM test GROUP BY nazev tvůj způsob také funguje. Tak děkuji za pomoc. |
||
Kcko Profil |
#9 · Zasláno: 5. 2. 2011, 21:02:29
▼Jakub46548:
GROUP BY tam není potřeba. |
||
Kajman_ Profil * |
#10 · Zasláno: 5. 2. 2011, 22:56:52
Kcko:
Je, protože tam má id. Takže vybírat pouze název bez id, nebo použít group by. |
||
Časová prodleva: 13 let
|
0