【字節跳動】數據挖掘面試題0008:計算西瓜視頻內容好評率

文章大綱

      • 題目描述

題目描述

西瓜視頻近期開展了”2020百大人氣創作者”優質內容扶持項目,鼓勵用戶產出優質的視頻內容。

現需要統計2020年11月01日至2020年11月30日期間創作的視頻中,

“科技”大類下“數碼測評"子類的視頻好評率(好評率=好評數/視頻觀看次數),寫出sql語句進行查詢。

用戶觀看視頻后的評價詳情表:content_action_infoid(視頻id,主鍵)create_time (創建時間,格式‘2020-11-01)user_id(觀看者id)content_id (視頻id,外鍵)content_action (視頻評價,包括’點贊‘,’差評‘,‘無評價’)視頻詳情表:dim_contentcontent_id (外鍵)creator_id(創作者id)content_category (商品類目)content_sub_category (品牌名稱)
SELECT dc.content_id,dc.content_category,dc.content_sub_category,COUNT(CASE WHEN ca.content_action = '點贊' THEN 1 END) AS 好評數,COUNT(DISTINCT ca.user_id) AS 視頻觀看次數,ROUND(COUNT(CASE WHEN ca.content_action = '點贊' THEN 1 END) / COUNT(DISTINCT ca.user_id), 4) AS 好評率
FROM dim_content dc
JOIN content_action_info ca ON dc.content_id = ca.content_id
WHERE dc.content_category = '科技'AND dc.content_sub_category = '數碼測評'AND ca.create_time BETWEEN '2020-11-01' AND '2020-11-30'
GROUP BY dc.content_id, dc.content_category, dc.content_sub_category
ORDER BY 好評率 DESC;
  • 若需要統計所有符合條件視頻的整體好評率,可移除GROUP BY并直接計算總和
SELECTCOUNT(1) AS all_action,SUM(CASE WHEN content_action = '點贊' THEN 1 ELSE 0 END) AS like_action,SUM(CASE WHEN content_action = '點贊' THEN 1 ELSE 0 END) / COUNT(1) AS like_rate
FROM content_action_info AS a
JOIN dim_content AS b ON a.content_id = b.content_id
WHERE b.content_category = '科技'AND b.content_sub_category = '數碼測評'AND a.create_time BETWEEN '2020-11-01' AND '2020-11-30';

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/90168.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/90168.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/90168.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux 進程控制:全面深入剖析進程創建、終止、替換與等待

文章目錄引言一、進程創建:fork()系統調用的奧秘1.1 fork()的基本原理1.2 代碼示例與解讀1.3 寫時復制(COW)優化二、進程終止:exit()與_exit()的抉擇2.1 exit()和_exit()的區別2.2 代碼示例與分析三、進程替換:exec()函…

PJSIP 中的 TCP 傳輸配置指南

PJSIP 支持通過 TCP 傳輸 SIP 消息,相比 UDP 提供了更可靠的傳輸機制。以下是關于在 PJSIP 中使用 TCP 的詳細指南。1. 創建 TCP 傳輸基本 TCP 傳輸配置cpjsua_transport_config tcp_cfg; pjsua_transport_config_default(&tcp_cfg); tcp_cfg.port 5060; // SI…

小菜狗的云計算之旅,今天學習MySQL數據庫基礎知識及操作

目錄 一、概述 數據庫概念 數據庫的類型 關系型數據庫模型 關系數據庫相關概念 二、安裝 1、mariadb安裝 2、mysql安裝 3、啟動并開機自啟 4、本地連接(本地登錄) 三、mysql數據庫配置與命令 yum安裝后生成的目錄 mysql服務器的啟動腳本 數…

為什么是直接在**原型(prototype)上**添加函數

這是一個非常經典、核心的 JavaScript 面向對象編程問題:> 為什么是直接在**原型(prototype)上**添加函數,而不是在類/構造函數內部直接添加?你提到的代碼中:javascript function TopSearchComponent() …

深入理解 classnames:React 動態類名管理的最佳實踐

在現代前端開發中,我們經常需要根據組件的狀態、屬性或用戶交互來動態切換 CSS 類名。雖然 JavaScript 提供了多種方式來處理字符串拼接,但隨著應用復雜性的增加,傳統的類名管理方式很快就會變得混亂不堪。這時,classnames 庫就像…

C++系列(七):深度探索C++內存 --- 分區、堆棧、new/delete與高效編程實踐

引言 程序運行的本質是對數據的處理,而內存則是程序執行的核心舞臺。理解內存的物理與邏輯分區,是掌握程序底層行為、編寫高效可靠代碼的關鍵基石。內存并非混沌一片,而是被嚴格劃分為代碼區、全局區、棧區和堆區。每個區域擁有獨特的生命周…

微信小程序71~80

1.總結小程序生命周期 小程序冷啟動,鉤子函數執行的順序保留當前頁面,進入下一個頁面,鉤子函數執行的順序銷毀當前頁面,進入下一個頁面,鉤子函數執行的順序小程序熱啟動,鉤子函數執行的順序 2.使用Componen…

[Pytest][Part 3]檢測python package狀態

目錄 實現需求1: 檢查python package狀態——pkg_resource hook實現自動檢測包狀態 conftest.py hook鉤子函數 Part1: https://blog.csdn.net/x1987200567/article/details/144915315?spm1001.2014.3001.5501 從這里開始逐個實現Part1中的需求 實現需求1&a…

自定義時間范圍選擇組件使用教程(基于 Vue 3 + Element Plus)

🕓 自定義時間范圍選擇組件使用教程(基于 Vue 3 Element Plus)? 一個靈活實用的時間范圍選擇器,支持開始時間、結束時間、快捷時間選項、本地雙向綁定、插槽擴展等功能。–📘 一、功能介紹 該組件基于 Element Plus …

YOLOv8 模型轉換 ONNX 后 C# 調用異常:一個參數引發的跨平臺適配難題

一、問題背景:從 Python 訓練到 C# 部署的跨平臺需求 作為一名 C# 開發者,我在完成 YOLOv8 模型訓練(使用 Ultralytics 官方框架,訓練數據為自定義目標檢測數據集,輸入尺寸 640x640,訓練輪次 100 輪&#…

Apache Cloudberry 亮相 2025 IvorySQL 生態大會暨 PostgreSQL 高峰論壇

6 月 27 日至 28 日,IvorySQL 2025 生態大會暨 PostgreSQL 高峰論壇在泉城濟南順利召開。本屆大會由 IvorySQL 開源數據庫社區主辦、瀚高基礎軟件股份有限公司承辦,吸引了來自國內外的數據庫技術專家、開發者與開源愛好者齊聚一堂,聚焦數據庫…

CMake之CMakeLists.txt語法規則

本文主要參考正點原子的應用開發手冊,僅作為本人學習筆記使用。 目錄 cmake 的使用方法其實還是非常簡單的,重點在于編寫 CMakeLists.txt,CMakeLists.txt 的語法規則也簡單,并沒有 Makefile的語法規則那么復雜難以理解&#xff01…

Mysql專題復習

重點內容:1. Mysql架構:客戶端 Server層 存儲引擎2. 索引數據結構:B樹4. 索引優化:覆蓋索引、排序、JOIN、分頁; COUNT; 索引下推;單/雙路排序5. 數據庫事務; 鎖;隔離級別&#xff…

CLIP的tokenizer詳解

一、bytes_to_unicodedef bytes_to_unicode():"""Returns list of utf-8 byte and a corresponding list of unicode strings.The reversible bpe codes work on unicode strings.This means you need a large # of unicode characters in your vocab if you wa…

【如何判斷Linux系統是Ubuntu還是CentOS】

要確定您的操作系統是 Ubuntu 還是 CentOS,可以通過以下方法快速檢查: 方法 1:通過終端命令(推薦) 在終端中執行以下命令之一: 查看 /etc/os-release 文件 cat /etc/os-releaseUbuntu 特征:顯示…

RISCV Linux 虛擬內存精講系列二 -- Linux 入口 head.S

通過 Linux 的構建系統,即 Linux 源代碼的根目錄下的 Makefile,能夠找到 vmlinux 的鏈接文件,從而能夠查看其入口代碼 head.S:_start, 如下: Linux 構建系統主Makefile: vmlinux.lds: head.S: 找到該入口后&#xff0c…

springAI學習:Advisors

spring AI Advisors類似于攔截器,會對請求的prompt做出特定的修改和增強(比如傳入歷史溝通記錄、搜索信息等等),以達到完善prompt的目的。通過Advisors API,開發人員可以創建更為復雜、可重用、可維護的AI組件。下面介…

MySQL CDC與Kafka整合指南:構建實時數據管道的完整方案

一、引言:現代數據架構的實時化需求 在數字化轉型浪潮中,實時數據已成為企業的核心資產。傳統批處理ETL(每天T1)已無法滿足以下場景需求: 實時風險監控(金融交易)即時個性化推薦(電商…

MATLAB | 繪圖復刻(二十一)| 扇形熱圖+小提琴圖

前段時間在小紅書刷到了一個很有特色的熱力圖,由大佬滾筒洗衣機創作,感覺很有意思,嘗試 MATLAB 復刻: 作者使用的是 python 代碼,趕快去瞅瞅。 復刻效果 正文部分 0.數據準備 數據需要一個用來畫熱圖的矩陣以及一個…

批量PDF轉換工具,一鍵轉換Word Excel

軟件介紹 今天為大家推薦一款高效的Office文檔批量轉換工具,能夠快速將Word和Excel文件批量轉換為PDF格式。 軟件特點 這款名為"五五Excel word批量轉PDF"的工具體積小巧,不到2M大小,卻能實現強大的批量轉換功能&#xff0c…