请教一条sql语句的写法

来源:百度知道 编辑:UC知道 时间:2024/05/17 11:55:11
表结构如下
Bid,Content,Score
4 ttt 3
4 5rsd 2
4 dfs 5
6 342 2
6 fgg 4
上面这个表,我想得到的记录如下:
4 dfs 5
6 fgg 4
即在表中读取各Bid中Score最大的所有记录
请问该怎么写SQL语句
表结构(opus):
userName,colMoney,collectName,opusID,score,colID
shore,200,测试类别A,4,30,5
shore2,300,测试类别B ,1,3.6,4
shore3,250,测试类别B ,4 ,1.2,4
shore4,350,测试类别B ,2 ,0.3,4
我想查询得到的结果是
shore,200,测试类别A,4,30,5
shore2,300,测试类别B,1,3.6,4
即在各colID中取出score值最大的所有记录
谢谢大家了

SELECT A.*,B.CONTENT FROM
(SELECT BID,MAX(SCORE)AS SCORE FROM 表名 GROUP BY BID) AS A ,表名 AS B WHERE A.BID=B.BID AND A.SCORE=B.SCORE
在家中没法调试,应该是正确的。

好难!上网都查不到!祝你好运,有人给你满意答复。

可采用分组的方法。
select Bid,Content,max(Score) as Score from 表 group by Bid

select Bid,Content,max(Score) as Score from 表 group by Bid

select distinct 字段 from 表

select distinct bid from 表,(select max(score) as s,bid from 表 group by bid)A where bid=A.bid and score=A.s

5楼的朋友的回答是正确的.
在MYSQL和MSSQL里都能通过.
还可以在最后加一个ORDER BY A.BID ASC

再上几楼的答案不正确,应该说不是很到位.