喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 喜悦证交所 | 帮助

RSS 订阅当前论坛  

$5.95 Web Hosting     

上一主题 下一主题
     
标题: [讨论] 查询的问题  
 
hackiss
注册会员
Rank: 2


UID 88887
精华 0
积分 67
帖子 54
金钱 67 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2007-3-6
状态 离线
[广告]: Enom域名自助付费 自助注册 自助PUSH 主流域名COM等一律57.99元年
查询的问题

我们有一个表,记录了一些选手的得分
情况如下:
+------+-------+----------+
| Uid  | Score | Score_id |
+------+-------+----------+
|  1   |  57   |  213     |
|  1   |  51   |  215     |
|  2   |  91   |  219     |
|  2   |  27   |  254     |
|  2   |  107  |  321     |
|  3   |  58   |  323     |
|  3   |  76   |  327     |
|  4   |  175  |  329     |
+------+-------+----------+
我们想选出每个选手和他的最高得分
需要的结果如下:
+------+-------+----------+
| Uid  | Score | Score_id |
+------+-------+----------+
|  1   |  57   |  213     |
|  2   |  107  |  321     |
|  3   |  76   |  327     |
|  4   |  175  |  329     |
+------+-------+----------+
数据库是MYSQL
请问这个sql语句该如何写啊?
2007-3-9 03:51 PM#1
查看资料  发短消息  顶部
 
Maxwin
注册会员
Rank: 2



UID 88106
精华 0
积分 116
帖子 99
金钱 116 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2007-2-6
状态 离线
[广告]: Enom域名自助付费 自助注册 自助PUSH 主流域名COM等一律57.99元年
select * from table as x where x.score=(select max(score) from table as y where x.uid=y.uid) order by uid;

//未测试




Blog:http://www.x2blog.cn/Maxwin/
2007-3-9 04:56 PM#2
查看资料  访问主页  发短消息  QQ  顶部
 
记忆
中级会员
Rank: 3Rank: 3
中级会员



UID 65002
精华 0
积分 348
帖子 327
金钱 348 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2005-6-28
来自 北京
状态 离线
[推荐阅读] 杭州双线服务器租用月付899元加QQ319203006
同意楼上!但子查询这个东西~~~好像只有4.1及其以上支持!

[ 本帖最后由 记忆 于 2007-3-9 05:12 PM 编辑 ]




珍惜每一天

Emlog 个人博客系统
2007-3-9 05:09 PM#3
查看资料  访问主页  发短消息  QQ  顶部
 
hackiss
注册会员
Rank: 2


UID 88887
精华 0
积分 67
帖子 54
金钱 67 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2007-3-6
状态 离线
[推荐阅读] 北京-酷娃网诚聘英才!
感谢 Maxwin 出解法。

正解是
SELECT Uid, Score_id, Score
FROM
    table as x
WHERE x.Score = (
              SELECT MAX(Score)
              FROM table as y
              WHERE x.Uid=y.Uid
              )
ORDER BY Uid;

如果需要列出MAX(Score)做个对照看看是不是要取得的行,
则:
SELECT Uid, Score_id, Score,MAX(Score)
FROM
    table as x
WHERE x.Score = (
              SELECT MAX(Score)
              FROM table as y
              WHERE x.Uid=y.Uid
              )
GROUP By Uid
ORDER BY Uid;
此贴 封!!!
2007-3-9 05:48 PM#4
查看资料  发短消息  顶部
 
isno (小仙)
版主
Rank: 7Rank: 7Rank: 7
好想谈恋爱


UID 78818
精华 1
积分 115533
帖子 3989
金钱 113955 喜悦币
威望 10
人脉 1568
阅读权限 100
注册 2006-8-22
状态 离线
[推荐阅读] ★●★★●★全国十大双线虚拟主机商★●★★●★
这帖子封了 鉴定完毕
2007-3-9 05:59 PM#5
查看资料  Blog  发短消息  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.028838 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP