您的位置:首页 > 职场人生

【面试复习】一周内销售额前三的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语句还是很好玩的,想想如果自己可以随意地操作几百万甚至是几千万的数据,是不是觉得很爽?加油吧!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: