2011-12-18 3 views
7

я хочу показать в моей приборной панели в верхних 5 продуктах, на каждое изделие я хочу, чтобы показать общее количество заказов, представлений и процент, где этот продукт, основанный на другой экс:сложного MySQL запросы вопрос

Game 1 for Xbox (200 orders/1000 views) 20% 
Game 2 for WII (180 orders/2100 views) 18% 
Game 3 for PS3 (170 orders/390 views) 17% 
Game 4 for PS3 (90 orders/1400 views) 9% 
Game 5 for WII (20 orders/30 views) 2% 

так 200 заказов на игру 1 из 1000 заказов составляет 20% от общего количества заказов. что означает, 20% моих продуктов были игры 1

Вот мой запрос:

select 
products.name, products.type, products.views, count(*) as orders, ???????? 
from 
products 
inner join orders on (products.id = orders.product_id) 
group by orders.product_id 

как я получаю процент?

+1

Я не понимаю эту часть: «мнения и процент того, где этот продукт основан на других». Вы можете уточнить? Что такое «взгляды»? Что это за «другие»? – fge

+0

уверен, что я обновлю свой вопрос – fred

ответ

6
select 
products.name, products.type, count(*) as orders, count(*) * 100/total.total as pct 
from 
products 
inner join orders on (products.id = orders.product_id) 
inner join (select count(*) as total from orders) total 
group by orders.product_id 
+0

спасибо, что он работает – fred

+0

приятно слышать это :) – necromancer

Смежные вопросы