国产探花免费观看_亚洲丰满少妇自慰呻吟_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] )

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 万宁市| 兴业县| 荥阳市| 田东县| 巴塘县| 开平市| 井研县| 亳州市| 安龙县| 泽普县| 九龙城区| 梨树县| 宜昌市| 望城县| 肇源县| 漯河市| 宜兰市| 永顺县| 乌拉特中旗| 红河县| 朝阳市| 新泰市| 南木林县| 石首市| 黄石市| 马山县| 邵阳县| 邛崃市| 涪陵区| 汉源县| 贡嘎县| 潼关县| 监利县| 家居| 威宁| 崇阳县| 昭觉县| 桂阳县| 彭州市| 罗源县| 临沭县|