15- 22題聚合函數 - 高頻 SQL 50 題基礎版

目錄

  • 1. 相關知識點
  • 2. 例子
    • 2.15 - 有趣的電影
    • 2.16 - 平均售價
    • 2.17 - 項目員工 I
    • 2.18 - 各賽事的用戶注冊率
    • 2.19 - 查詢結果的質量和占比
    • 2.20 - 每月交易 I
    • 2.21 - 即時食物配送 II
    • 2.22 - 游戲玩法分析 IV

1. 相關知識點

  • 函數
函數含義
order by排序
group by分組
between 小值 and 大值取值范圍
date_format(trans_date,‘%Y-%m’)日期轉換格式
count(*)表示數據的行數,如果有分組,為分組后數據的行數
date_add(min(event_date),INTERVAL 1 DAY)日期相加

2. 例子

2.15 - 有趣的電影

在這里插入圖片描述
在這里插入圖片描述

select* 
from cinema
wheredescription!='boring' and id%2!=0
order by rating desc;

2.16 - 平均售價

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

# 注意:between 小值 and 大值 select u.product_id, round(sum(u.units*p.price)/sum(u.units),2) average_price 
from Prices p left join UnitsSold u 
on p.product_id=u.product_id 
-- and
where u.purchase_date between p.start_date and p.end_date 
group by u.product_id;

2.17 - 項目員工 I

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

select-- round(sum(e.experience_years)/count(*),2) p.project_id,round(avg(e.experience_years),2) average_years
from Project p left join Employee e
on p.employee_id=e.employee_id 
group by p.project_id;

2.18 - 各賽事的用戶注冊率

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

-- 注冊率=注冊用戶數/所有用戶數
selectr.contest_id,round(100*count(*)/(select count(*) from Users),2) percentage 
from Register r
group by r.contest_id
order bypercentage desc,r.contest_id ASC;

2.19 - 查詢結果的質量和占比

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

-- round(avg(rating<3)*100,2)=round(avg(if(rating<3,1,0))*100,2) 
select query_name,round(avg(rating/position),2) quality,round(avg(if(rating<3,1,0))*100,2) poor_query_percentage 
fromQueries
group byquery_name;

2.20 - 每月交易 I

在這里插入圖片描述
在這里插入圖片描述

--  考點:日期轉換格式
--  date_format(trans_date,'%Y-%m')select date_format(trans_date,'%Y-%m') month,country,count(*) trans_count,sum(if(state='approved',1,0)) approved_count,sum(amount) trans_total_amount,sum(if(state="approved",amount,0)) approved_total_amount
fromTransactions 
group bymonth,country;

2.21 - 即時食物配送 II

在這里插入圖片描述
在這里插入圖片描述

-- sum(if(order_date=customer_pref_delivery_date,1,0))/count(*)=sum(order_date=customer_pref_delivery_date)/count(*)
-- count(*),表示數據的行數,如果有分組,為分組后數據的行數select round(100*sum(if(order_date=customer_pref_delivery_date,1,0))/count(*),2) immediate_percentage 
fromDelivery 
where (customer_id,order_date) in (selectcustomer_id,min(order_date)from Deliverygroup bycustomer_id);

2.22 - 游戲玩法分析 IV

  • 考點: 聚合函數
    在這里插入圖片描述
    在這里插入圖片描述
# 日期相加 date_add(min(event_date),INTERVAL 1 DAY) 
select round(count(distinct player_id)/(select count(distinct player_id) from Activity),2) fraction  
fromActivity 
where-- 如果日期加一天的數據能在表中查到,說明連續登錄了兩天(player_id,event_date) in (select player_id,date_add(min(event_date),INTERVAL 1 DAY) from Activity GROUP BYplayer_id);

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

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

相關文章

Chrome備份數據

Chrome備份數據 1、 導出谷歌瀏覽器里的歷史記錄 參考&#xff1a;https://blog.csdn.net/qq_32824605/article/details/127504219 在資源管理器中找到History文件&#xff0c;文件路徑&#xff1a; C:\Users\你的電腦用戶名\AppData\Local\Google\Chrome\User Data\Default …

堆排序思想分享

人不走空 &#x1f308;個人主頁&#xff1a;人不走空 &#x1f496;系列專欄&#xff1a;算法專題 ?詩詞歌賦&#xff1a;斯是陋室&#xff0c;惟吾德馨 目錄 &#x1f308;個人主頁&#xff1a;人不走空 &#x1f496;系列專欄&#xff1a;算法專題 ?詩詞歌…

丟失的數字(MissNumber)

丟失的數字 給定一個包含 [0, n] 中 n 個數的數組 nums &#xff0c;找出 [0, n] 這個范圍內沒有出現在數組中的那個數。 示例 1&#xff1a; 輸入&#xff1a;nums [3,0,1] 輸出&#xff1a;2 解釋&#xff1a;n 3&#xff0c;因為有 3 個數字&#xff0c;所以所有的數字都…

五、Pentium 微處理器保護模式存儲管理,《微機系統》第一版,趙宏偉

一、分段存儲管理 Pentium支持分段存儲管理、分頁存儲管理和段頁式存儲管理。 1.1 分段存儲管理的基本思想 一個程序由多個模塊組成。 每一個模塊都是一個特定功能的獨立的程序段。 段式管理&#xff1a;把主存按段分配的存儲管理方式。 程序模塊→段→段描述符→段描述符…

【設計】在Java后端開發時使用JSONObject完全替代JAVABean(DTO,VO)是否可行?

其實這樣做你是得不償失&#xff0c;不過也要看什么項目&#xff0c;如果你的項目只在只需要實現功能&#xff0c;不在乎健壯性&#xff0c;可持續性那就完全可以。因為我現在公司老項目所有用的POJO的地方都是用JSONObject。代碼可讀性幾乎為0。你用了可能喪失以下功能&#x…

【微服務】后臺管理項目多數據源管理方案實戰

目錄 前言 1、使用Spring提供的AbstractRoutingDataSource 2、使用MyBatis注冊多個SqlSessionFactory 3、使用dynamic-datasource框架 前言 Java后臺使用MyBatis-plus 快速訪問多個數 據源&#xff0c;這里分享三種常用的多數據源管理方案 1、使用Spring提供的AbstractRout…

【C++深度探索】繼承機制詳解(一)

hello hello~ &#xff0c;這里是大耳朵土土垚~&#x1f496;&#x1f496; &#xff0c;歡迎大家點贊&#x1f973;&#x1f973;關注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f4a5;個人主頁&#xff1a;大耳朵土土垚的博客 &#x1…

代碼托管服務:GitHub、GitLab、Gitee

目錄 引言GitHub&#xff1a;全球最大的代碼托管平臺概述功能特點適用場景 GitLab&#xff1a;一體化的開發平臺概述功能特點適用場景 Gitee&#xff08;碼云&#xff09;&#xff1a;中國本土化的代碼托管服務概述功能特點適用場景 功能對比結論 引言 在現代軟件開發中&#…

numpy - array(3)

arr1 np.array([[(1000, 1001, 1002, 1003), (1010, 1011, 1012, 1013), (1020, 1021, 1022, 1023)],[(1100, 1101, 1102, 1103), (1110, 1111, 1112, 1113), (1120, 1121, 1122, 1123)]], dtypeint) (1) 根據坐標訪問元素或內容,更改訪問的內容&#xff0c;array也會更改。“…

C++操作系列(一):MinGW環境安裝與配置(無報錯版)

本文選擇MinGW作為安裝對象。 1. 下載MinGW 進入官網&#xff1a;MinGW - Minimalist GNU for Windows download | SourceForge.net 點擊File&#xff1a; 劃到最下面&#xff1a; &#xfeff; Windows 64位系統下載seh結尾的安裝包&#xff1a; 2. 安裝MinGW 解壓MinGW&am…

力扣第218題“天際線問題”

在本篇文章中&#xff0c;我們將詳細解讀力扣第218題“天際線問題”。通過學習本篇文章&#xff0c;讀者將掌握如何使用掃描線算法和堆來解決這一問題&#xff0c;并了解相關的復雜度分析和模擬面試問答。每種方法都將配以詳細的解釋&#xff0c;以便于理解。 問題描述 力扣第…

【CSS】深入理解CSS 的steps()函數

在CSS動畫中&#xff0c;steps()函數是一個時間函數&#xff0c;它主要用于animation-timing-function屬性&#xff0c;以定義動畫的步進方式。當你想要動畫的某個屬性&#xff08;如background-position或transform: translateX()&#xff09;在特定的步驟之間變化時&#xff…

探索 ES6:現代 JavaScript 的新特性

隨著 JavaScript 的不斷演進&#xff0c;ECMAScript 2015&#xff08;簡稱 ES6&#xff09;作為 JavaScript 的一次重大更新&#xff0c;帶來了許多新特性和語法改進&#xff0c;極大地提升了開發體驗和代碼質量。本文將詳細介紹 ES6 的主要新特性&#xff0c;并展示如何在實際…

NLTK:原理與使用詳解

文章目錄 NLTK簡介NLTK的核心功能1. 文本處理2. 詞匯處理3. 語法分析4. 語義分析5. 情感分析 NLTK的使用1. 安裝NLTK2. 導入NLTK庫3. 下載NLTK數據集4. 文本處理示例5. 情感分析示例 總結 NLTK簡介 NLTK是一個開源的Python庫&#xff0c;用于處理和分析人類語言數據。它提供了…

扛鼎中國AI搜索,天工憑什么?

人類的創作不會沒有瓶頸&#xff0c;但AI的熱度可不會消停。 大模型之戰依舊精彩&#xff0c;OpenAI選擇在Google前一天舉行發布會&#xff0c;兩家AI企業之間的拉扯賺足了熱度。 反觀國內&#xff0c;百模大戰激發了大家對于科技變革的熱切期盼&#xff0c;而如今行業已逐漸…

【操作系統期末速成】 EP01 | 學習筆記(基于五道口一只鴨)

文章目錄 一、前言&#x1f680;&#x1f680;&#x1f680;二、正文&#xff1a;??????1.1 考點一&#xff1a;操作系統的概率及特征 三、總結&#xff1a;&#x1f353;&#x1f353;&#x1f353; 一、前言&#x1f680;&#x1f680;&#x1f680; ?? 回報不在行動…

文章浮現之單細胞VDJ的柱狀圖

應各位老師的需求復現一篇文章的中的某個圖 具體復現圖5的整個思路圖&#xff0c;這里沒有原始數據&#xff0c;所以我使用虛擬生產的metadata進行畫圖 不廢話直接上代碼&#xff0c;先上python的代碼的結果圖 import matplotlib.pyplot as plt import numpy as np# 數據&#…

架構師篇-8、運用事件風暴進行業務領域建

如何成為優秀架構師&#xff1f; 需要有一定的技術積累&#xff0c;但是核心是懂業務。 具備一定的方法&#xff0c;并且有很強的業務理解能力。 技術架構師&#xff1a;形成技術方案&#xff0c;做的更多的是底層的平臺&#xff0c;提供工具。 業務架構師&#xff1a;解決方…

兩數之和你會,三數之和你也會嗎?o_O

前言 多少人夢想開始的地方&#xff0c;兩數之和。 但是今天要聊的不是入門第一題&#xff0c;也沒有面試官會考這一題吧…不會真有吧&#xff1f; 咳咳不管有沒有&#xff0c;今天的豬腳是它的兄弟&#xff0c;三數之和&#xff0c;作為雙指針經典題目之一&#xff0c;也是常…

Vue3中Element Plus組件庫el-eialog彈框中的input無法獲取表單焦點的解決辦法

以下是vue.js官網給出的示例 <script setup> import { ref, onMounted } from vue// 聲明一個 ref 來存放該元素的引用 // 必須和模板里的 ref 同名 const input ref(null)onMounted(() > {input.value.focus() }) </script><template><input ref&qu…