亚洲女同成aV人片在线观看|亚洲www啪成人一区二区麻豆|亚洲国产中日韩精品综合|亚洲国产成人精品一级片|亚洲无码在线视频免费

天津九安特機電工程有限公司

導航切換

聯(lián)系電話(huà):
15397061867

天津九安特機電工程有限公司

怎樣分析用戶(hù)滿(mǎn)意度?(分析用戶(hù)滿(mǎn)意度的3大思路)

作者:天津九安特機電工程有限公司 來(lái)源: 天津九安特機電工程有限公司   日期:2026-05-05 08:42:33

“滿(mǎn)意度表”記錄了教師和學(xué)生對課程的樣分??意度用戶(hù)滿(mǎn)意程度?!笆俏鲇梅駶M(mǎn)意”列里是老師和學(xué)生對課程的評價(jià),其中“是戶(hù)滿(mǎn)”表示教師和學(xué)生都滿(mǎn)意。(′Д` )

“ 用戶(hù)表”記錄了學(xué)校教師和學(xué)生的分析信息。每個(gè)用戶(hù)有唯一鍵 “編號”,滿(mǎn)意“是度的大思否在系統”表示這個(gè)用戶(hù)是否還在這所學(xué)校里,“角色”表示這個(gè)人是樣分意度用戶(hù)學(xué)生還是教師。

兩個(gè)表的析用關(guān)系:滿(mǎn)意度表的“學(xué)(xue)生編號” 、 “教師編號” 和用戶(hù)表的戶(hù)滿(mǎn) “編號” 聯(lián)結。

現在需要分析出學(xué)校里人員對課程的分析滿(mǎn)意度。滿(mǎn)意度的滿(mǎn)意計算方式如下:

(教師和學(xué)生對課程都滿(mǎn)意且已存在當前教務(wù)系統中的用戶(hù)) / (在學(xué)校里的人數)

【解題思路】

1.多表聯(lián)結

統計滿(mǎn)意度的前提是需要用戶(hù)在學(xué)校里,??需??要用到“用戶(hù)表”里的度的大思“是否在系統”來(lái)判斷。滿(mǎn)意度需要用到“滿(mǎn)意度表”。樣分意度用戶(hù)所以涉及到兩個(gè)表里的析用數據,就要用到《猴子 從零學(xué)會(huì )sql》里講過(guò)的戶(hù)滿(mǎn)多表聯(lián)結。

那么,使用哪種聯(lián)結呢?

統計值為滿(mǎn)意度,所以使用“滿(mǎn)意度表”為主表,進(jìn)行左聯(lián)結。

1 select * 2 from 滿(mǎn)意度表3 left join 用戶(hù)表;

如何聯(lián)??結呢?

兩個(gè)表的關(guān)系:(′?_?`)滿(mǎn)意度表的“學(xué)生編號(′?_?`)” 、 “教師編號” 和用戶(hù)表的 “編號” 聯(lián)結。所以聯(lián)結條件是:

滿(mǎn)意度表.教師編號 = 用戶(hù)表.編號 or 滿(mǎn)意度表.學(xué)生編號 = 用戶(hù)表.編號

基于上面的分析,多表聯(lián)結查詢(xún)sql語(yǔ)句如下:

1 select * 2 from 滿(mǎn)意度表3 left join 用戶(hù)表4 on (滿(mǎn)意度表.教師編號 = 用戶(hù)表.編號 or 5 滿(mǎn)意度表.學(xué)生編號 = 用戶(hù)表.編號)??;

2.查詢(xún)條件

滿(mǎn)意度等于:

(教師和學(xué)生對課程都滿(mǎn)意且已存在當前教務(wù)系統中的用戶(hù)) / (在學(xué)校里的人數)

由這個(gè)公式可以知道,分子和分母計算的前提都是存在學(xué)校里的用戶(hù)。所以,查詢(xún)條件是:用戶(hù)表中存ヽ(′▽?zhuān)?/在學(xué)校里的用戶(hù)。

1 where 用戶(hù)表.是否在系統 = '是'

把(ba)條件子句加入前面的多表查??詢(xún)sql里,就是下面的sql:

1 select * 2 from 滿(mǎn)意度表3 left join 用戶(hù)表4 on (滿(mǎn)意度表??.教師編號 = 用戶(hù)表.編號 or 滿(mǎn)意度(′ω`)表.ˉ\_(ツ)_/ˉ學(xué)生編號 = 用戶(hù)表??.編號)5 where 用(yong)戶(hù)表.是(°o°)否在系統 = '是';

上面sql運行結果如下,我們發(fā)現,教師編號“02”不在學(xué)校里(對應的列“是否在系統”里的值是“否”),這是怎么回事呢?

我們重新梳理一遍邏輯。

目前的邏輯是:(教師編號 = 編號 或 學(xué)生編號 = 編號)且編號在學(xué)校中。這等價(jià)于:

(教師編號 = 編號 且 編號在學(xué)校中)或(學(xué)生編號 = 編號??,且 編號在學(xué)校中)

這里的“或”邏輯會(huì )將范圍擴大,所以且不在學(xué)校的“02”號教師也會(huì )出現在查詢(xún)結果中。

正確的做法是先從表中分別選出“在學(xué)?!崩锏膶W(xué)生和教師,然后再多表聯(lián)結。也就是:

(教師編號 = 編號 且 該編號在系統中 )并且(???)

(學(xué)生編號 = 編號 且 該編號在系統中)

對應的sql如下:

1 select * 2 from 滿(mǎn)意度表 3 left join(selecヽ(′?`)ノt 編號 from 用戶(hù)表 where 是否在┐(′д`)┌系統='是') as 學(xué)生4 on (滿(mǎn)意度表.學(xué)生編號 = 學(xué)生.編號)5(╯‵□′)╯ left join(sele(′?ω?`)ct 編號 from 用戶(hù)表 where 是否在系統='是') as 教師6 on (滿(mǎn)意度表.教師編號 = 教師.編號(hao));

3.統計

滿(mǎn)意度等于:

(教師和學(xué)生對課程都滿(mǎn)意且已存在當前教務(wù)系統中的用戶(hù)) / (在學(xué)校里的人數)

我??把這個(gè)公示簡(jiǎn)化為:滿(mǎn)意度=a/b

其實(shí)a=教師和學(xué)生對課程都滿(mǎn)意且已存在當前教務(wù)系統中的用??戶(hù)

b=在學(xué)(′?_?`)校里的人數

我們只需要把a和b的值計算出來(lái)就可以啦。

1)計算a

統計好“是否滿(mǎn)意”列里有多少個(gè)值為“是”(?Д?)。

我們可以把“是”轉化成1,然后累計求和,對應的sql就是:

1 sum(case when 是否滿(mǎn)意='是' then 1 2 else 0 3 end)

2)計算b

b=在學(xué)校里的人數,直接用計數函數(count)就可以:count(是否滿(mǎn)意)

3)計算出滿(mǎn)意度

滿(mǎn)意度=a/b,也就是

1 sum(case when 是否滿(mǎn)意='是' then 1 else 0 end)/count(是(shi)否滿(mǎn)意) 2 as 滿(mǎn)意度

把這個(gè)計算公示加入前面sql語(yǔ)句的查詢(xún)結果里就是(下面的select子句):

1 select sum(case when 滿(mǎn)意度表.是否滿(mǎn)意='是' then 1 else 0 end)/count(滿(mǎn)意度表.是否滿(mǎn)意) as 滿(mǎn)意度2 from 滿(mǎn)意度??表 3 left join(select 編號 from 用戶(hù)表 whヽ(′?`)ノere 是否在系統='是') as?? 學(xué)生4 on (滿(mǎn)意度表.學(xué)生編號 = 學(xué)生.編號)5 left join(select 編號 from 用戶(hù)表 where 是否在系統='是') as 教師6 on (滿(mǎn)意度表.教師編號 = 教師.編號)

最后查詢(xún)結果是滿(mǎn)意度=0.75。

【本題考點(diǎn)】

● 考察多表查詢(xún)的應用

● 如何將業(yè)務(wù)需求轉換為sql語(yǔ)句的能力

● 聚合函數的運用

【舉一反三】

下表是一家出行公(′▽?zhuān)?)司(比如滴滴、Uber)的數據庫表。乘客通過(guò)該公司的app叫車(chē),司機通過(guò)app接收訂單。

Users 表里存(′?`)放的是用戶(hù)信息。每??個(gè)用戶(hù)有唯一值(Users_Id) 。Banned 表示用戶(hù)是否因為違規被禁止使用app。Role 記錄了用戶(hù)的角色,里面的值driver是司機,client是乘客,partner是合伙人(ren)。

Trips(′?_?`) 表記錄了各個(gè)出租車(chē)的行程信息。每段行程有唯一鍵(Id) 。Status 行程類(lèi)型 ‘completed’表行程??正常結束, ‘cancelled_by_driver’ 表示行程因為司機原因取消(xiao),‘cancelled_by_c??lient’表示行程因為乘客原因???取消。

兩個(gè)表的聯(lián)結關(guān)系:Tr??ips 表(Client_Id 、 Driver_Id) 和 Users 表中 Users_Id 的聯(lián)結

寫(xiě)一段 SQL 語(yǔ)句查出非禁止用戶(hù)的取消率。

取消率的計算方式如下:(被司機或乘客取消的非禁止用戶(hù)生成的訂單數量) / (非禁止用戶(hù)??生成的訂單總數)

參考答案:

1.多表聯(lián)結,找出非禁止的用戶(hù)

1 select * 2 from tri(????)ps3 left join (select users_id from users where banned = 'no') as client4 on (trips.Client_Id = cl(′▽?zhuān)?ient.user??s_id)5 left join (select users_id from users where banned = 'no') as driver6(T_T) on (trips.Driver_Id = driver.(′▽?zhuān)?users_id);

2.按日期分組

因為要計算的是“每天”的取消率,(?????)所以要按日期分組,統計每(mei)一天的。

1 group by trips.request_at

3.計算取消率

被司┐(′д`)┌機或乘客取消的非禁止用戶(hù)生成的訂單數量=

sum(case when status = ‘completed’ then 1 else 0 end)

非禁止用戶(hù)生成的訂單總數=count(status)

最終sql如下(xia):

1 select sum(case when trips.status = 'completed' then 1 else 0 end) / count(trips.status) 2 from trips3 lef??t join (select users_id from users where banned = 'no') as client4 on (trips.Client_Id = client.users_id)5 left join (seleヽ(′▽?zhuān)?ノct users_id from users where banned = 'no') as driver6 on (trips.Drive(//ω//)r_Id = driver.users_id);7 group by trips.request_at;
亚洲女同成aV人片在线观看|亚洲www啪成人一区二区麻豆|亚洲国产中日韩精品综合|亚洲国产成人精品一级片|亚洲无码在线视频免费 巴塘县| 嵊泗县| 秦安县| 佛山市| 广德县| 海淀区| 剑川县| 吉首市| 五常市| 梁平县| 赣榆县| 富源县| 苍南县| 双桥区| 抚远县| 株洲市| 万全县| 南昌县| 防城港市| 碌曲县| 博客| 海林市| 厦门市| 栾川县| 江口县| 凉城县| 永定县| 大田县| 天台县| 盘山县| 辽阳市| 安庆市| 吉林省| 镇沅| 紫阳县| 湄潭县| 赣州市| 旅游| 马尔康县| 瑞昌市| 临泽县| http://444 http://444 http://444 http://444 http://444 http://444