Autor | Zpráva | ||
---|---|---|---|
mysql Profil * |
#1 · Zasláno: 19. 3. 2009, 23:04:14
Zdravim, mam tabulku s médii, v ní sloupec TAGY a v něm mám u každého média několik slov oddělených čárkami (tagy). Jak udělat výpis nejvíce používaných tagů? Mám mít pro tagy speciální tabulku nebo to půjde přímo nějakým MySQL dotazem?
Děkuji |
||
TomášK Profil |
#2 · Zasláno: 20. 3. 2009, 00:00:55
Neříkám, že by to nešlo vymyslet pro tvůj způsob uložení, ale ušetříš si mnoho nervů, když budeš mít tabulky media(id, ...), tagy(id, media_id, ...). Data oddělená čárkami jsou zlo, pokud potřebuješ vyhledávat přes jednotlivé hodnoty.
|
||
Mastodont Profil |
#3 · Zasláno: 20. 3. 2009, 06:22:10
Jak píše TomášK, chce to další tabulku. Pro účely zobrazení můžeš mít duplicitně seznam tagů s čárkami i v hlavní tabulce (abys nemusel JOINovat), ale pak to musíš mít pořádně synchronizované).
|
||
mysql Profil * |
#4 · Zasláno: 22. 3. 2009, 17:09:54
Díky
Ještě mám jeden dotaz... Udělal jsem na to tedy speciální tabulku tags(media_id,tag_id,tag_name) Jak seřadit výpis této tabulky podle nejvíce shod těch tagů? Prostě chci, aby se první zobrazovaly tagy, kterých je v databázi nejvíce (tag_name).. |
||
Kajman_ Profil * |
#5 · Zasláno: 22. 3. 2009, 17:15:08
select count(*) pocet, tag_id, tag_name from tags group by tag_id, tag_name order by 1 desc |
||
mysql Profil * |
#6 · Zasláno: 22. 3. 2009, 17:33:15
Kajmane mockrát díky ;-)
|
||
Časová prodleva: 15 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0