【力扣白嫖日記】602.好友申請II:誰有最多的好友

前言

練習sql語句,所有題目來自于力扣(https://leetcode.cn/problemset/database/)的免費數據庫練習題。

今日題目:

602.好友申請II:誰有最多的好友
表:RequestAccepted

列名類型
requester_idint
accepter_idint
accept_datedate

(requester_id, accepter_id) 是這張表的主鍵(具有唯一值的列的組合)。
這張表包含發送好友請求的人的 ID ,接收好友請求的人的 ID ,以及好友請求通過的日期。

編寫解決方案,找出擁有最多的好友的人和他擁有的好友數目。生成的測試用例保證擁有最多好友數目的只有 1 個人。

進階:在真實世界里,可能會有多個人擁有好友數相同且最多,你能找到所有這些人嗎?


我那不值一提的想法:

  • 首先梳理表內容,題干一共給了一張請求表,記錄了發送請求id,接受者id,接受日期
  • 其次分析需求,需要找到擁有最多好友的人和他擁有的好友數量
  • 首先查好友數量,通過這個表我們可以觀察到,好友的數量=requester_id的數量+accepter_id的數量,這里我們可以通過別查詢requester_id的數量和accpter_id的數量
  • 然后再使用union all 連接所有的結果,就能得到用戶接受好友的數量,以及用戶被接受好友的數量
  • 最后再將結果建立成臨時表,從臨時表里面查詢結果。
select requester_id as id,sum(num) as num 
from 
(select requester_id,count(requester_id) as numfrom RequestAcceptedgroup by requester_idunion allselect accepter_id,count(accepter_id) as num from RequestAcceptedgroup by accepter_id
) as a 
group by requester_id
order by num desc
limit 1

對于進階版來說,就是可能會有多種情況,我覺得最簡單的方法就是再加一層嵌套,然后去掉limit1,將好友數量的所有結果保存到一張臨時表中,然后嵌套查詢,條件就是where num =
(select max(num) from 臨時表)

with temp as (select requester_id as id,sum(num) as num from (select requester_id,count(requester_id) as numfrom RequestAcceptedgroup by requester_idunion allselect accepter_id,count(accepter_id) as num from RequestAcceptedgroup by accepter_id) as a group by requester_idorder by num desc
)
select id,num 
from temp
where num = (select max(num) from temp)

結果:

在這里插入圖片描述


總結:

能運行就行。


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

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

相關文章

外賣店優先級

題目描述 ”飽了么”外賣系統中維護著N 家外賣店,編號1~N。每家外賣店都有一個優先級,初始時(0時刻)優先級都為0。 每經過1個時間單位,如果外賣店沒有訂單,則優先級會減少1,最低減到0;而如果外賣店有訂單,則…

【AIGC】微笑的秘密花園:紅玫瑰與少女的美好相遇

在這個迷人的畫面中,我們目睹了一個迷人的時刻,女子則擁有一頭柔順亮麗的秀發,明亮的眼睛如同星河般璀璨,優雅而靈動,她的微笑如春日暖陽,溫暖而又迷人。站在紅玫瑰花瓣的驚人洪水中。 在一片湛藍無云的晴…

Liberod的License申請

Liberod的License申請 找到license申請的路徑 查找C盤的磁盤序列號 鍵盤的win+R,輸入cmd 輸入vol,然后回車 圖中的DiskID就是填寫你C盤序列號的位置,填寫完成后點擊Register,幾秒鐘后會提示你,預計45分鐘后會發送到你的郵箱

docker-mysql:5.7安裝

1、下載mysql:5.7鏡像 [rootlocalhost ~]# docker search mysql (某個XXX鏡像名字) [rootlocalhost ~]# docker pull mysql:5.7 按裝之前查看一下是否按裝過mysql。如果安裝過會占用3306端口。 [rootlocalhost ~]# ps -ef | grep mysql 2、安裝 # -d:后臺運行 #…

C語言基礎(五)——結構體與C++引用

七、結構體與C引用 7.1 結構體的定義、初始化、結構體數組 C 語言提供結構體來管理不同類型的數據組合。通過將不同類型的數據組合成一個整體,方便引用 例如,一名學生有學號、姓 名、性別、年齡、地址等屬性,如果針對學生的學號、姓名、年齡…

MJ V7 在 V6 Beta 發布后即將推出,即將到來的人工智能 API 訪問!

讓我們深入了解 MidJourney 的新功能 在發布官方 Beta 之前總結 V6 Alpha 隨著 MidJourney V6 Alpha 上周成為默認版本,該團隊現在正在努力在過渡到官方 Beta 版本之前進行進一步的改進: 一組 3 個視覺一致性功能 1 — 升級的“風格參考”功能 這將是…

團體程序設計天梯賽 L2-003 月餅(多重背包模板)

L2-003 月餅 分數 25 月餅是中國人在中秋佳節時吃的一種傳統食品,不同地區有許多不同風味的月餅。現給定所有種類月餅的庫存量、總售價、以及市場的最大需求量,請你計算可以獲得的最大收益是多少。 注意:銷售時允許取出一部分庫存。樣例給…

pytorch基礎1-pytorch介紹與張量操作

專題鏈接:https://blog.csdn.net/qq_33345365/category_12591348.html 本教程翻譯自微軟教程:https://learn.microsoft.com/en-us/training/paths/pytorch-fundamentals/ 初次編輯:2024/3/1;最后編輯:2024/3/1 這是本…

高中數學:分式函數值域的求法

一、求值域的兩種基本思路 1、根據函數圖像和定義域求出值域。 難點:畫出函數圖像 2、研究函數單調性和定義域求出值域。 二、函數圖像畫法 高中所學的分式函數,基本由反比例函數平移得到。 復雜分式函數圖像畫法的兩個要點: a、找垂直、…

mysql 常用命令練習

管理表格從表中查詢數據從多個表查詢修改數據sql變量類型 管理表格 創建一個包含三列的新表 CREATE TABLE products (id INT,name VARCHAR(255) NOT NULL,price INT DEFAULT 0,PRIMARY KEY(id) // 自增 ); 從數據庫中刪除表 DROP TABLE product; 向表中添加新列 ALTER TAB…

如何優化阿里云幻獸帕魯/Palworld的多人聯機性能,并避免內存溢出導致的異常退出游戲?

優化阿里云幻獸帕魯/Palworld的多人聯機性能并避免內存溢出導致的異常退出游戲,可以采取以下幾種方法: 選擇合適的內存配置:由于幻獸帕魯是一個對內存需求較高的游戲,建議選擇至少16GB的內存。對于不同的玩家數量,可以…

【ArcGIS】漁網分割提取柵格圖+網格化分析圖繪制

ArcGIS按漁網分割提取柵格圖并繪制網格化分析圖 準備數據操作步驟步驟1:創建漁網(Create Fishnet)步驟2:柵格數據處理步驟3:柵格插值步驟4:數據關聯 參考 網格化的目的是讓各個數據更加標準化的進行統計。因…

GO常量指針

Go語言中的常量使用關鍵字const定義,用于存儲不會改變的數據,常量是在編譯時被創建的,即使定義在函數內部也是如此,并且只能是布爾型、數字型(整數型、浮點型和復數)和字符串型。 由于編譯時的限制&#x…

自動化測試系列 —— UI自動化測試!

UI 測試是一種測試類型,也稱為用戶界面測試,通過該測試,我們檢查應用程序的界面是否工作正常或是否存在任何妨礙用戶行為且不符合書面規格的 BUG。了解用戶將如何在用戶和網站之間進行交互以執行 UI 測試至關重要,通過執行 UI 測試…

Maven 插件之 maven-enforcer-plugin 解決沖突重復依賴

目錄 0、前言1、enforcer 是什么2、能干什么3、怎么用4、規則5、擴展規則6、使用7、banDuplicateClasses8、banDuplicatePomDependencyVersions 0、前言 maven 項目種經常出現 jar 包沖突、重復依賴、無效引用怎么辦,maven-enforcer-plugin 了解一下 1、enforcer …

《AI紀元:幻域探險》

游戲項目名稱:《AI紀元:幻域探險》 游戲類型:AI驅動的角色扮演探險游戲(RPG) 背景設定: 《AI紀元:幻域探險》設定在一個名為“幻域”的廣闊虛擬世界。這個世界由高度發達的AI技術支持&#xff0…

SpringCloud-同步異步通訊比較

本文詳細探討了同步通訊和異步通訊在信息傳遞中的區別,以及它們分別帶來的優勢和不足。通過對支付流程的案例分析,突顯了同步通訊可能面臨的阻塞和服務依賴問題,而異步通訊通過引入事件驅動模式和消息代理(Broker)成功…

SQL Server 開發環境配置教程(SSMS+SQL Prompt)

背景 記錄一下 SQL Server 常用開發軟件 體驗了各種數據庫IDE(DBeaver、Navicat、DataGrip)之后綜合下來還是感覺 SSMSSQL Prompt 對于 SQL Server 最好用,所以在此記錄一下配置過程 數據庫可視化管理工具SSMS 官方下載地址: https://learn.microsoft…

Java基礎數據結構之棧

一.什么是棧 棧是一種特殊的線性表,它只允許在固定的一端進行元素的添加與使用,且遵循先進后出的原則。添加取用元素的一端稱為棧頂,另一端稱為棧底。出棧和入棧都是操作棧頂元素 二.棧的模擬實現 棧的底層是一個數組 這是里面的成員變量以…

智能汽車加速車規級存儲應用DS2431P+TR 汽車級EEPROM 存儲器IC

DS2431PT&R是一款1024位1-Wire EEPROM芯片,由四頁存儲區組成,每頁256位。數據先被寫入一個8字節暫存器中,經校驗后復制到EEPROM存儲器。該器件的特點是,四頁存儲區相互獨立,可以單獨進行寫保護或進入EPROM仿真模式…