Autor | Zpráva | ||
---|---|---|---|
Taps Profil |
#1 · Zasláno: 28. 1. 2023, 18:49:38
Zdravím,
v databázi mám produkty, které mají přiřazeny určitou skupinu atributů, např. níže Hlava: bergamot, broskev, cukrový meloun, hruška, magnólie, mandarinka Srdce: fialka, frézie, jasmín, konvalinka, orchidej, růže, švestka, tuberóza Základ: cedr, ostružina, pižmo, vanilka Můj dotaz zní: Když vyberu jeden základní produkt, tak jak mohu z databáze vybrat podobné produkty a seřadit je tak, aby na prvních pozicích byly produkty, které mají nejvíce shodných atributů. Daný problém řeším na úrovni wordpressu, ale uvítám jakýkoliv typ, který by přispěl k řešení problému. Děkuji |
||
Kajman Profil |
#2 · Zasláno: 28. 1. 2023, 22:12:40
Asi něco jako
SELECT Count(*) shod, a.produkt_id FROM atributy vzor JOIN atributy a ON a.skupina_id = vzor.skupina_id AND a.hodnota = vzor.hodnota WHERE vzor.produkt_id = 42 GROUP BY a.produkt_id ORDER BY 1 DESC A ještě by se daly přidat počty atributů, kdyby se mělo řadit podle procentní shody. Ale bude to dost pomalé, takže bude potřeba na nějaké úrovni využívat cache. |
||
Časová prodleva: 2 roky
|
0