[mySQL] večinski select
 
blackmamba 25. maj 2010 09:26:08 Pridružen od:
4. mar 2008
559 objav
392 25 11
#1

Ker je moj primer precej kompliciran, bom napisal poenostavjeno verzijo problema.



Npr. imam tabele:


product (id, product_name)
category (id, category_name)
product2category (product_id, category_id)
product_2_option_group (product_id, option_group_id)
option_group (id, group_name)
option (id, option_group_id, product_id, option_name)

Sem na strani od kategorije in imam category.id rad bi pa dobil tisto skupino opcij(option_group), ki jo ima največ izdelkov.



Npr.

5 izdelkov ima samo opcije tipa "teža"

4 izdelki imajo "teža" in "material"

6 izdelkov ima pa samo "material"



Torej v tej kategoriji je skupno vpisanih 9 opcij "teža" in 10 opcij material.

V tem primeru bi moral biti rezultat: option_group ~ material



Že v naprej hvala vsem, ki se boste s tem ukvarjali ;)


všeč(0) ni všeč(0) spam(0)
 
blackmamba 25. maj 2010 09:42:52 Pridružen od:
4. mar 2008
559 objav
392 25 11
#2

Ah sem že :)

order by COUNT(product2optiongroup.optiongroup_id) DESC LIMIT 1


všeč(0) ni všeč(0) spam(0)
 
seweb 25. maj 2010 11:30:40 Pridružen od:
20. okt 2006
134 objav
91 8 1
#3

S tem nisi predvidel primera, ko ima vec kategorij enako stevilo opcij.


všeč(0) ni všeč(0) spam(0)
 
blackmamba 25. maj 2010 12:08:50 Pridružen od:
4. mar 2008
559 objav
392 25 11
#4

Ha? Ne razumem točno kaj misliš.



Tukaj kategorije niti niso pomembne, saj so tipi opcij in same opcije vezane na izdelke.



Drugače pa vedno to počnem znotraj ene kategorije in v poizvedbi imam vedno pogoj "WHERE category_id = ...".


všeč(0) ni všeč(0) spam(0)
 
provincjalc 25. maj 2010 13:33:55 Pridružen od:
22. maj 2009
101 objav
62 8 2
#5

hoče ti povedati da ne boš zaznal če bo recimo 9 opcij "teža" in 9 opcij "material".



Zaznal boš samo eno od dveh.


všeč(0) ni všeč(0) spam(0)
 
 

🔒 Za odgovor na to temo se moraš prijaviti.

Prijavi se