線上教育案例:如何分析銷售資料?

線上教育案例:如何分析銷售資料?

【面試題】

有一張“課程銷售訂單表”,包含4個欄位:使用者id、下單日期、下單id、學科。

線上教育案例:如何分析銷售資料?

問題:查詢每個使用者第一個訂單的記錄,如果同時下單了包含多個課程的訂單,則按照“語文、數學、英語”順序排序。

【解題步驟】

1. 彙總分析

查詢“每個使用者第一個訂單”,涉及到“每個”,要想到《猴子 從零學會SQL》裡講過的要用“分組彙總”解決該類問題。按使用者id分組(group by),第一個訂單的記錄是指“下單日期”這一列最小的值(彙總用min函式)

查詢結果:

線上教育案例:如何分析銷售資料?

2. 多表聯結

上面只獲取到第一次下單使用者的使用者id、第一次下單日期。而題目要求如果同時下單了包含多個課程的訂單,則按照“語文、數學、英語”順序排序。

這就要獲取到表裡的其它資料。可以把上面查詢結果作為表a1,和“課程銷售訂單表”(記為表a2)進行多表聯結。

線上教育案例:如何分析銷售資料?

使用多表聯結,查詢每個使用者第一個訂單的記錄:

查詢結果:

線上教育案例:如何分析銷售資料?

3. 自定義排序

按照“語文、數學、英語”順序排序,涉及到自定義排序:order by field()的使用。

線上教育案例:如何分析銷售資料?

【本題考點】

2。考查對多表聯結的應用

3。考查對order by中自定義排序的使用

TAG: 下單訂單排序查詢ID