日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

sql查询当天交易总额最大的用户信息_如何分析交易记录? 因为后面要分析“每种类型用户的总交易金额”,所以保留左表(用户交易记录表)中的全部用户数据。 【题目】 某商场为了分析用... - 雪球...

發布時間:2024/1/8 编程问答 42 豆豆

來源:雪球App,作者: 猴子數據分析,(https://xueqiu.com/1350621016/159703178)

因為后面要分析“每種類型用戶的總交易金額”,所以保留左表(用戶交易記錄表)中的全部用戶數據。

【題目】

某商場為了分析用戶購買渠道。表1是用戶交易記錄表,記錄了用戶id、交易日期、交易類型和交易金額。

表2是用戶類型表,記錄了用戶支付類型(微信、支付寶、信用卡等),分別有type1、type2。

要求:

1.請在?type1的用戶類型中,找出總交易金額最大的用戶。

2.篩選每個用戶的第2筆交易記錄。

3.如下表:如何實現表3的數據格式?

4.兩表做關聯時,其中一張表的關聯鍵有大量的null值會造成什么影響?如何規避?

【解題思路】

1.type1的用戶類型中,找出單用戶的總交易金額最大的一位用戶?

我們先來把這個業務需求翻譯成大白話:

1)表中的字段要有用戶類型、交易金額、用戶id

交易金額、用戶id在用戶交易記錄表中,用戶類型在用戶類型表中,涉及到兩個表的字段,所以需要進行多表聯結。

觀察兩個表,得知兩表的相同字段為用戶id?,所以通過用戶id聯結兩張表。

使用哪種聯結呢?拿出《猴子?從零學會SQL》里面的多表聯結圖。

因為后面要分析“每種類型用戶的總交易金額”,所以保留左表(用戶交易記錄表)中的全部用戶數據。

查詢結果:

2)每種類型用戶的總交易金額

當有“每個”出現的時候,要想到《猴子?從零學會SQL》中講過的用分組匯總來實現該業務問題。

根據各用戶類型、用戶id分組?(group?by),統計每個用戶數總費用(求和函數sum)

查詢結果:

3)找出用戶類型=type1,總交易金額最大的用戶

用where?篩選用戶類型=type1的用戶,按照總金額降序排序(order?by?decs),找出的第一行(limit?1)記錄即為交易金額最大的用戶。

查詢結果:

2.篩選每個用戶的第2筆交易記錄?

1)題目要求查詢“每個用戶”,當每個出現的時候,就要想到分組匯總(group?by或者窗口函數的partiotion??by)。

2)第2筆交易記錄,是指按照交易時間對每個用戶的交易記錄進行排名,然后取出排名第2的數據。

又涉及到分組,又涉及到排名的問題,要想到用《猴子?從零學會SQL》里講過的窗口函數來實現。

所以使用分組(窗口函數partiotion?by?用戶id),并按最后交易時間升序排列(order?by交易時間?asc),套入窗口函數的語法,得出下面的sql語句:

查詢結果:

2)用where?篩選出每個用戶的第2條記錄,就是每個用戶的第2筆交易記錄

查詢結果:

3.如下表:如何實現表3的數據格式?

題目要求將同一用戶、不用的交易時間和交易類型多行合并為一行,用group_concat函數可解決。

sql入下:

4.兩表做關聯時,其中一張表的關聯鍵有大量的null值會造成什么影響?如何規避?

因為在關聯表中的全部數據不一定在另一張表都匹配,這樣沒有匹配到的話就會出現null,避免出現表連接出現null值,只要在表關聯時加一個where條件進行判斷(not?null?),具體見下圖

【本題考點】

1.如何將復雜的業務問題,使用多維度拆解分析方法,翻譯成大白話的能力。

2.遇到排名問題,要想到使用窗口函數來實現。

3.多表聯結各個情況如何去實現?把上圖看懂就可以解決99%的多表聯結問題了。

總結

以上是生活随笔為你收集整理的sql查询当天交易总额最大的用户信息_如何分析交易记录? 因为后面要分析“每种类型用户的总交易金额”,所以保留左表(用户交易记录表)中的全部用户数据。 【题目】 某商场为了分析用... - 雪球...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。