mysql統計出每個姓氏的人數 Mysql資料分析

2021-10-14 08:21:25 字數 2375 閱讀 5075

mysql是關係型資料庫,sql語言可以很好地對資料庫進行操作管理,進而進行資料分析。現對使用者消費資料進行初步分析,資料均**於**,無涉及使用者隱私資料。

一、建立資料庫

建立資料庫基本操作:create database 資料庫名;

二、建立表

建立資料庫基本操作:create table 表名(欄位名 型別 約束);

三、匯入資料

① 可通過workbench操作匯入,效率較慢

② 可通過命令列視窗通過執行語句命令載入匯入 ,效率較快

四、資料清洗規整

對錶orderinfo資料的日期資料進行規整,使之成為正規的標準時間格式;對錶資料進行更改操作。

a、先把時間格式標準化變成 1993-02-27 這樣的

update orderinfo set paidtime=replace(paidtime,'/','-') where paidtime is not null;

b、然後更新字串為日期格式,然後才能使用日期函式進行操作

update orderinfo set paidtime=str_to_date(paidtime,'%y-%m-%d %h:%i') where paidtime is not null;

五、業務分析實現

1、統計不同月份下單人數(使用者人數)

2、統計男女使用者消費頻次是否有差異(使用者屬性差異)

3、統計三月的復購率情況(消費頻次)

select count(if(cu>1,1,null)) /count(*) as "複購率" from ( select month(paidtime),userid,count(1) as cu from practice.order_infowhere month(paidtime)=3 and ispaid="已支付" group by userid) t

4、統計多次消費的客戶,第一次與最後一次消費時間間隔(生命週期,使用者消費時間)

通過對使用者的分組,相當於每個使用者的消費時間都成了乙個集合,專屬於每個使用者(看成以使用者為維度對資料進行打包,如果是5個使用者,則分成5個資料報,再對資料報進行進一步操作),再對使用者下面的消費記錄進行統計,大於1即多次消費;從使用者下面的記錄中篩選出最大最小時間即可。

datediff為時間函式,表示兩個時間的相差天數。

5、統計不同年齡段,使用者的消費金額是否有差異(使用者消費基本畫像)

注意:使用者年齡段僅作了基礎處理,未詳細按照年齡大小分層(需細分)

6、統計消費的二八法則,消費的top20%的使用者,貢獻多少額度(top客戶)

(select userid,sum(price) money from practice.order_info where ispaid="已支付"

以上屬於個人對sql語句的一些應用操作總結,如有問題歡迎交流。

統計同成績的人數 C語言

題目描述 讀入n名學生的成績,將獲得某一給定分數的學生人數輸出。輸入描述 測試輸入包含若干測試用例,每個測試用例的格式為 第1行 n 第2行 n名學生的成績,相鄰兩數字用乙個空格間隔。第3行 給定分數 當讀到n 0時輸入結束。其中n不超過1000,成績分數為 包含 0到100之間的乙個整數。輸出描述...

python利用dict統計每個文字的出現次數

在乙個群裡看到有個群友有個需求 有八門課的名單,每行名單為每門課的名單,想統計每個人選課的次數 資料形式如下 思路 讀取所有名單,利用set集合建立不重複的list,然後建立字典,再利用字典的key對名單進行遍歷 知識點 coding utf 8 author fff zrx filepath te...

Hive 使用SQL統計出每個使用者的累積訪問次數

我們有如下的使用者訪問資料 userid visitdate visitcount u01 2017 1 215u02 2017 1 236u03 2017 1 228u04 2017 1 203u01 2017 1 236u01 2017 2 218u02 2017 1 236u01 2017 2...