Autor Zpráva
mysql
Profil *
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
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
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 *
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 *
select count(*) pocet, tag_id, tag_name from tags group by tag_id, tag_name order by 1 desc
mysql
Profil *
Kajmane mockrát díky ;-)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0