面试 sql
直接上题
题干:存在如下两张表,数据依次如下,Goods(商品信息表),Orders(销售订单明细表),假定一个订单只能购买一种商品。
要求:用MYSQL语句实现,查出2015年10月份,商品月销售总额大于100000元金额排行前10的商品名称。
直接上代码
代码语言:javascript复制SELECT g.GoodName
FROM `Goods` AS g
LEFT JOIN `Orders` AS o ON g.ID = o.PID
WHERE DATE_FORMAT( TS, '%Y-%m' ) = '2015-10'
GROUP BY o.PID
HAVING SUM( g.SinglePrice * o.Num ) > 100000
ORDER BY SUM( g.SinglePrice * o.Num ) DESC
LIMIT 0 , 10