【面试复习】一周内销售额前三的SQL查询语句
2016-07-16 17:18
881 查看
前言
最近面试复习,越发的觉得自己的基础太弱了,趁着这个机会,也当是巩固基础知识吧。SQL语句
一、表中字段:部门ID,销售额,销售日期,销售数量,销售总价要求:先按部门或销售数量总价统计排序,选出一周内销售总价前三名。
对应的SQL语句:
<span style="font-size:18px;">SELECT departmentId, SUM(salemajor), SUM(salemoney) FROM ta_sale WHERE saleDate > DATE_SUB(CURDATE(), INTERVAL 1 WEEK) GROUP BY departmentId ORDER BY SUM(salemoney) DESC LIMIT 0, 3;</span>
运行结果
涉及到的知识:
1、升序:ASC ;降序: DESC。
2、前几条记录:MySQL:limit (需要查询的第一条记录) ,(查询的最后一条记录);SQL:top 数字。
3、查询一个星期内的记录:select * from ta_sale where saledate>date_sub(curdate(),interval 1 week); 其中1 week是表示一个星期,也可以是两个星期,三个星期。其中如果是按月或是按年的话,可以把week改成 month或year。
4、同时插入多条数据的语句:
<span style="font-size:18px;">INSERT INTO ta_sale (departmentId, sale, saledate, salemajor, salemoney) VALUES ('04','9789','2016-7-15','120','143'), ('03','9789','2016-7-15','120','143'), ('04','9789','2016-7-15','120','143'); </span>
5、group by:分组,如果不用这个关键字的话,会把所有的记录汇总成一个记录。
6、order by::排序,默认的排序是升序,所以这个时候我们可能会用到desc关键字。
总结
开始很畏惧SQL语句,但是经过这次实践下来,觉得SQL语句还是很好玩的,想想如果自己可以随意地操作几百万甚至是几千万的数据,是不是觉得很爽?加油吧!相关文章推荐
- 什么是专业化的程序员
- 分享一个15年程序员的生涯,总结的7点经验
- 招聘
- ios面试题2016(网上资料)
- ios面试题2016
- 程序员和程序狗
- 面试题38:数字在排序数字中出现的次数
- LeetCode 9: Palindrome Number
- 一个推理问题:求老师生日
- javaEE面试【1】(java反射机制)
- 面试前期准备
- 某高人整理的Java就业面试题大全【1】
- 一个无序数组中两个数之和等于给定的值sum
- 连续子数组的最大和
- 大部分人都会做错的经典JS闭包面试题
- ios面试题
- 【转】蘑菇街面试经历(已拿到offer)
- LeetCode题目索引-难度及面试频率
- 教你在面试中如何从容的解决各类问题
- 隆中对,程序员修炼之道,技术学习前进之路