SQL每日一练(2)
表:
产品表 p
product_id | product_name |
---|---|
1 | 产品 A |
2 | 产品 B |
3 | 产品 C |
销售表 s
sale_id | product_id | country | amount | sale_date |
---|---|---|---|---|
1 | 1 | 法国 | 1000.00 | 2020-09-15 |
2 | 2 | 法国 | 1500.00 | 2020-09-20 |
3 | 3 | 法国 | 800.00 | 2020-09-10 |
4 | 1 | 英国 | 1200.00 | 2020-09-25 |
5 | 2 | 英国 | 1600.00 | 2020-09-05 |
6 | 3 | 英国 | 900.00 | 2020-09-30 |
题目:
1、查询所有时间内,各个国家的销售情况,销售金额大于1000视为业绩合格,否则不合格。
结果输出:国家、销售金额、业务情况。
2、所有时间年内,总销售金额最大的国家?销售金额(四舍五入到整数)。
例子 中国 10000
题目1:思路:根据题目查询,然后做连接,主要考察case when then end的用法。
SELECT s.country,SUM(s.amount) AS total_sales,CASEWHEN SUM(s.amount) > 10000 THEN '合格' ELSE '不合格'END AS performance
FROM sales s
GROUP BY s.country
ORDER BY s.country;
题目2:思路很简单order by排序limit1 需要注意四舍五入需要用round函数
SELECT s.country, ROUND(SUM(s.amount), 0) AS total_sales
FROM sales s
GROUP BY s.country
ORDER BY total_sales DESC
LIMIT 1;