2011-12-18 8 views
7

quiero mostrar en mi tablero del 5 producto superior, en cada producto que quiero para mostrar el total de pedidos, puntos de vista y el porcentaje de donde ese producto se basa en otros ex:complicada consulta MySQL tema

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% 

así que 200 pedidos para el juego 1 de cada 1000 pedidos es el 20% del total de los pedidos. lo que significa, el 20% de mis productos fuera de juego 1

aquí está mi consulta:

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 

¿Cómo puedo obtener el porcentaje?

+1

No entiendo esa parte: "vistas y el porcentaje de dónde ese producto se basa en otros". puedes ser mas preciso? ¿Qué son "puntos de vista"? ¿Qué es esto "basado en otros"? – fge

+0

seguro voy a actualizar mi pregunta – fred

Respuesta

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

gracias funciona – fred

+0

bueno escuchar eso :) – necromancer