亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 12982 | 回復: 10
打印 上一主題 下一主題

【討論中】題目求教:求每個人的最高成績 [復制鏈接]

論壇徽章:
3
2015亞冠之卡爾希納薩夫
日期:2015-08-04 19:46:43數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2015-08-07 06:20:00數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-08-15 06:20:00
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2013-07-08 11:47 |只看該作者 |倒序瀏覽
本帖最后由 cenalulu 于 2013-07-09 10:03 編輯
  1. master>select * from result;
  2. +----+-------+-------------+-------+
  3. | id | name  | subject     | score |
  4. +----+-------+-------------+-------+
  5. |  1 | tom   | english     |    92 |
  6. |  2 | tom   | Mathematics |    99 |
  7. |  3 | jack  | english     |    95 |
  8. |  4 | susan | english     |   100 |
  9. |  5 | jimmy | english     |    97 |
  10. |  6 | john  | english     |    77 |
  11. |  7 | jack  | Mathematics |    99 |
  12. |  8 | susan | Mathematics |   100 |
  13. |  9 | jimmy | Mathematics |    99 |
  14. | 10 | john  | Mathematics |    91 |
  15. | 11 | tom   | Science     |    71 |
  16. | 12 | jack  | Science     |    92 |
  17. | 13 | susan | Science     |   100 |
  18. | 14 | jimmy | Science     |    87 |
  19. | 15 | john  | Science     |   100 |
  20. | 16 | tom   | sport       |   100 |
  21. | 17 | jack  | sport       |    97 |
  22. +----+-------+-------------+-------+
  23. 17 rows in set (0.00 sec)
復制代碼
最總顯示每個人最高成績,顯示name、subject、score三個字段
  1. +----+-------+-------------+-------+
  2. | id | name  | subject     | score |
  3. +----+-------+-------------+-------+
  4. |  7 | jack  | Mathematics |    99 |
  5. |  9 | jimmy | Mathematics |    99 |
  6. | 15 | john  | Science     |   100 |
  7. |  4 | susan | english     |   100 |
  8. | 16 | tom   | sport       |   100 |
  9. +----+-------+-------------+-------+
  10. 5 rows in set (0.00 sec)
復制代碼

論壇徽章:
16
IT運維版塊每日發(fā)帖之星
日期:2015-10-02 06:20:00IT運維版塊每月發(fā)帖之星
日期:2015-09-11 19:30:52IT運維版塊每周發(fā)帖之星
日期:2015-09-11 19:20:31IT運維版塊每日發(fā)帖之星
日期:2015-08-26 06:20:00每日論壇發(fā)貼之星
日期:2015-08-20 06:20:00IT運維版塊每日發(fā)帖之星
日期:2015-08-20 06:20:002015年辭舊歲徽章
日期:2015-03-03 16:54:15金牛座
日期:2014-05-04 16:58:09雙子座
日期:2013-12-17 16:44:37辰龍
日期:2013-11-22 15:20:59獅子座
日期:2013-11-18 22:55:08射手座
日期:2013-11-12 10:54:26
2 [報告]
發(fā)表于 2013-07-08 11:58 |只看該作者
select id,name,subject,max(score) from result  group by name ;?

論壇徽章:
0
3 [報告]
發(fā)表于 2013-07-08 11:58 |只看該作者
用mysql 的set var 來模擬postgresql的窗口函數(shù)實現(xiàn)

論壇徽章:
154
2022北京冬奧會紀念版徽章
日期:2015-08-07 17:10:5720周年集字徽章-年
日期:2022-10-26 16:44:2015-16賽季CBA聯(lián)賽之深圳
日期:2022-11-02 14:02:4515-16賽季CBA聯(lián)賽之八一
日期:2022-11-28 12:07:4820周年集字徽章-20	
日期:2023-07-19 08:49:4515-16賽季CBA聯(lián)賽之八一
日期:2023-11-04 19:23:5115-16賽季CBA聯(lián)賽之廣夏
日期:2023-12-13 18:09:34
4 [報告]
發(fā)表于 2013-07-08 14:34 |只看該作者
要用group by,感覺樓上兩位對了

論壇徽章:
9
每日論壇發(fā)貼之星
日期:2016-01-04 06:20:00數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-01-04 06:20:00每日論壇發(fā)貼之星
日期:2016-01-04 06:20:00數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-01-04 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-01-04 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-01-04 06:20:00綜合交流區(qū)版塊每日發(fā)帖之星
日期:2016-01-04 06:20:00綜合交流區(qū)版塊每日發(fā)帖之星
日期:2016-01-04 06:20:00數(shù)據(jù)庫技術(shù)版塊每周發(fā)帖之星
日期:2016-03-07 16:30:25
5 [報告]
發(fā)表于 2013-07-09 10:03 |只看該作者
科目名和分數(shù)不關(guān)連,group by + max顯然是不對的。
樓主可以搜下 group by top n 的關(guān)鍵字,方法有很多種就不贅述了

論壇徽章:
0
6 [報告]
發(fā)表于 2013-07-15 16:48 |只看該作者
本帖最后由 huowz 于 2013-07-15 17:01 編輯

2樓的恐怕不行,
  1. SELECT SUBSTRING_INDEX(score,'-',-1) AS id
  2.        ,NAME
  3.        ,MID(SUBSTRING_INDEX(score,'-',2),5) AS subject
  4.        ,TRIM(LEADING '0' FROM SUBSTRING_INDEX(score,'-',1)) AS score
  5. FROM (SELECT NAME
  6.       ,MAX(CONCAT(LPAD(score,3,'0'),'-',`subject`,'-',`id`)) AS score
  7. FROM result
  8. GROUP BY 1) t1
復制代碼
這個應該可以,
并且要是不要id的話,
  1. SELECT NAME
  2.        ,MID(score,5) AS subject
  3.        ,TRIM(LEADING '0' FROM SUBSTRING_INDEX(score,'-',1)) AS score
  4. FROM (SELECT NAME
  5.       ,MAX(CONCAT(LPAD(score,3,'0'),'-',`subject`)) AS score
  6. FROM result
  7. GROUP BY 1) t1
復制代碼
這樣就行!

論壇徽章:
0
7 [報告]
發(fā)表于 2013-07-17 14:41 |只看該作者
下面這條性能應該還可以,但是不適用susan這種分數(shù)都一樣的情況:
SELECT NAME,SUBJECT,score FROM result r1 WHERE ( SELECT COUNT(*) FROM result r2 WHERE r2.NAME=r1.NAME AND
                                                 r2.score >= r1.score) <= 1;
下面這條如果索引合適,應該也還行:
(SELECT * FROM result WHERE NAME = 'jack' ORDER BY score LIMIT 1)
UNION ALL
(SELECT * FROM result WHERE NAME = 'jimmy' ORDER BY score LIMIT 1)
UNION ALL
(SELECT * FROM result WHERE NAME = 'john' ORDER BY score LIMIT 1)
UNION ALL
(SELECT * FROM result WHERE NAME = 'tom' ORDER BY score LIMIT 1)
UNION ALL
(SELECT * FROM result WHERE NAME = 'susan' ORDER BY score LIMIT 1);

論壇徽章:
1
2015亞冠之西悉尼流浪者
日期:2015-05-13 11:39:09
8 [報告]
發(fā)表于 2013-07-25 18:32 |只看該作者
select id,name,subject,max(score) from (select id,name,subject,score from result order by score  desc ) as t group by name ;

論壇徽章:
0
9 [報告]
發(fā)表于 2013-07-26 11:30 |只看該作者
本帖最后由 huowz 于 2013-07-26 11:31 編輯

那這樣應該也可以
  1. SELECT NAME
  2.       ,SUBSTRING_INDEX(GROUP_CONCAT(subject ORDER BY score DESC),',',1)
  3.       ,MAX(score)
  4. FROM result
  5. GROUP BY NAME
復制代碼
只是不知道哪個效率更高,希望樓主可以測一下。

論壇徽章:
0
10 [報告]
發(fā)表于 2013-07-26 13:56 |只看該作者
本帖最后由 q15928 于 2013-08-08 10:50 編輯

回復 9# huowz

如果需要Id的話,這個恐怕不行。。。

@ 姚福堅
的最簡單

   
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP