LeetCode MySQL 585. 2016年的投资(窗口函数over(partition by xx))
文章目錄
- 1. 題目
- 2. 解題
1. 題目
寫(xiě)一個(gè)查詢語(yǔ)句,將 2016 年 (TIV_2016) 所有成功投資的金額加起來(lái),保留 2 位小數(shù)。
對(duì)于一個(gè)投保人,他在 2016 年成功投資的條件是:
- 他在 2015 年的投保額 (TIV_2015) 至少跟一個(gè)其他投保人在 2015 年的投保額相同。
- 他所在的城市必須與其他投保人都不同(也就是說(shuō)維度和經(jīng)度不能跟其他任何一個(gè)投保人完全相同)。
輸入格式:
表 insurance 格式如下:
解釋
就如最后一個(gè)投保人,第一個(gè)投保人同時(shí)滿足兩個(gè)條件:
第二個(gè)投保人兩個(gè)條件都不滿足。他在 2015 年的投資 TIV_2015 與其他任何投保人都不相同。
且他所在城市的經(jīng)緯度與第三個(gè)投保人相同。基于同樣的原因,第三個(gè)投保人投資失敗。
所以返回的結(jié)果是第一個(gè)投保人和最后一個(gè)投保人的 TIV_2016 之和,結(jié)果是 45 。
來(lái)源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/investments-in-2016
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
2. 解題
# Write your MySQL query statement below select round(sum(TIV_2016), 2) TIV_2016 from insurance where (LAT, LON) not in (select LAT, LONfrom insurancegroup by LAT, LONhaving count(*) > 1)and TIV_2015 in(select TIV_2015from insurancegroup by TIV_2015having count(*) > 1)or 窗口函數(shù)
# Write your MySQL query statement below select round(sum(TIV_2016), 2) TIV_2016 from (select*,count(*) over(partition by TIV_2015) as cnt1,count(*) over(partition by LAT, LON) as cnt2frominsurance ) t where t.cnt1 > 1 and t.cnt2 <= 1我的CSDN博客地址 https://michael.blog.csdn.net/
長(zhǎng)按或掃碼關(guān)注我的公眾號(hào)(Michael阿明),一起加油、一起學(xué)習(xí)進(jìn)步!
總結(jié)
以上是生活随笔為你收集整理的LeetCode MySQL 585. 2016年的投资(窗口函数over(partition by xx))的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: LeetCode MySQL 1270.
- 下一篇: LeetCode 1702. 修改后的最