朋友们经常被问的一道sql面试题

2023-09-05 15:24:20 浏览数 (3)

面试 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

各位自己研究一下吧,若有好的思路或者疑问欢迎留言

0 人点赞