資料分析 sql 業務相關練習題

2022-06-27 23:06:14 字數 1544 閱讀 4935

userinfo , orderinfo 表

兩個 userid 彼此對應

使用者在同乙個月份會下多個單,這裡進行去重

未支付的髒資料去除

先將所有 3月份購買超過一次的進行統計,然後在和全部資料比對

回購率可以使用計算出4月份購買的人數, 然後再用3月份的 in 判斷是否再 4月份進行操作

這樣操作較為繁瑣人工,可以試圖用更好用的方式

使用連表之後判斷延後乙個月進行統計,

第一步先把性別為空的髒資料清除

然後連表將訂單和使用者資訊鏈結, 然後統計每乙個使用者分別是男女消費了多少訂單

然後統合統計總量按照性別分組計算平均消費筆數, 可見男女差異不大

分組後的資料自然會有最大最小, 直接取出來然後時間插值計算即可,

可以再封裝一次來計算平均頻率等等操作分析

先去除部分髒資料,把年齡過篩一下, 預設值很多是按照 2023年計算, 從那個時間點往後卡

年齡的計算直接按照當前時間來減去即可

區分年齡段的方式可以使用 case when 或者直接這樣除以然後配合 ceil 向上取整

計算出來年齡端相關的資料之後再統合按照年齡端分組進行分析

可以看出年齡對消費金額還是有影響的, 當然70歲以上的資料肯定還是有髒資料

用比較討巧的方法, 先算出總和的金額以及總和的人數

然後記住這兩個數字 

之後使用 limit 提取出排序後的 前 20% 的人在計算總金額,

然後和之前算出來的所有人的總金額比對即可得出比例再 85%左右

mysql 裡面是沒有 row_number 這樣的支援分組排名的函式的 , 因此只能這樣較為麻煩的操作

dfs相關練習題

給定整數序列a1,a2,an,判斷是否可以從中選出若干個數,使它們的和恰好為k 輸入 n 4 a k 13 輸出 yes 13 2 4 7 public class 部分和 int k sc.nextint kk k dfs a,k,0,newarraylist public static void...

函式相關練習題

1,寫函式,接收乙個引數 此引數型別必須是可迭代物件 將可迭代物件的每個元素以 相連線,形成新的字串,並返回.例如 傳入的可迭代物件為 1,天王 劉德華 返回的結果為 1 天王 劉德華 1 def func lst l1 for i in lst return join l1 print func ...

SQL趣味練習題

第一中情況 create table renwu name varchar 20 not null,fahter varchar 20 insert into renwu values 小甲 大甲 insert into renwu values 大甲 老甲 insert into renwu na...