Jag skulle vilja sortera denna sökfunktion efter svaret på vad pd.products_viewed/p.products_ordered blir i stället för pd.products_name som det är nu.
p.products_ordered kan vara 0 så svaret kan bli 0 i vissa fall. Har provat att sätta in detta
sum(p.products_ordered / pd.products_viewed) as ordning
i frågan men får det inte att fungera. Den nuvarande frågan ser ut så här och fungerar, jag har radbrutit den ett par gånger så den ska vara enklare att läsa.
select distinct p.products_image, p.products_quantity, p.products_status, m.manufacturers_id, p.products_id, pd.products_name, pd.products_viewed, p.products_price, p.products_ordered, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price,
IF(s.status, s.specials_new_products_price, p.products_price) as final_price from products p left join manufacturers m using(manufacturers_id) left join specials s on p.products_id = s.products_id, products_description pd, categories c, products_to_categories p2c where p.products_status = '1'
and p.products_id = pd.products_id and pd.language_id = '4' and p.products_id = p2c.products_id and p2c.categories_id = c.categories_id and ((pd.products_name like '%vad%' or pd.meta_key like '%vad%' or p.products_model like '%vad%' or m.manufacturers_name like '%vad%' or pd.products_description like '%vad%') ) order by pd.products_name limit 0, 40
DBMS? MySQL har inga problem med 0-division, utan returnerar alltid NULL då. I övrigt vet jag inte riktigt vad som inte fungerar för dig? SUM() bör du inte ha med i ordningen, om jag förstår dig rätt.
... order by (pd.products_viewed/p.products_ordered) asc ...