国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

一個有趣的查找--搜索最大值所在的ID號

2024-07-21 02:11:21
字體:
來源:轉載
供稿:網友
朋友出了個題,各有a,b,c三人做游戲,記錄第次得分,經幾十次游戲后,成績如下:

id name score
1     a         88
2     b         76
3     c         66

4     c         90
5     b         77
6     a         56

7     b         77
8     c         67
9     a         44

......

當然還有很多

要求搜索a,b,c三人各最好成績,并且要列出最好成績的序號即id號
如:
id name score
1     a         88
5     b         77
4     c         90

最初我覺得好象是初級的題,把眼光放在最大值上,但隨后就覺得這重點不在最大值上,而是最大值所在的id號。
題目難點:搜索出最大值所在的 id 號
例外情況:每個人都可能出現幾個最大的值

動腦:開始先想到這max函數:
select max(score), [name] group by [name]
但這該死的 id 號怎么也插入不了

一線希望:用了個子查詢:
select [id],[name],score
from table1 a
where score in
    (select max(b.score) as maxscore
    from table1 b
    group by b.[name] )
可是,這 id 號還是多出來了,原因是由于該搜索是以最大值的集合作依據,如77這個最大值,可能是b的最大值,但是a和c可能也會出現77這個數,但不是最大值,所以......

勝利,最后加了個條件,使最大值集合中的name值,與搜索的name值相符合
select [id],[name],score
from table1 a
where score in
    (select max(b.score) as maxscore
    from table1 b
    group by b.[name] having a.[name]=b.[name] )

結果順利出來結果
往往是不起眼的問題,很費腦

最大的網站源碼資源下載站,

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 长宁区| 东阳市| 旅游| 宁远县| 五华县| 确山县| 齐河县| 丹阳市| 玛曲县| 丰镇市| 广东省| 博湖县| 察哈| 武邑县| 遂川县| 郁南县| 临武县| 新宾| 北宁市| 丰城市| 霍城县| 济宁市| 兰西县| 华阴市| 醴陵市| 铁力市| 凯里市| 石柱| 哈巴河县| 弋阳县| 南澳县| 吴江市| 红桥区| 社会| 达州市| 即墨市| 诸城市| 玛曲县| 辽宁省| 柘城县| 大洼县|