1. 程式人生 > >【面試複習】一週內銷售額前三的SQL查詢語句

【面試複習】一週內銷售額前三的SQL查詢語句

前言

     最近面試複習,越發的覺得自己的基礎太弱了,趁著這個機會,也當是鞏固基礎知識吧。

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語句還是很好玩的,想想如果自己可以隨意地操作幾百萬甚至是幾千萬的資料,是不是覺得很爽?加油吧!