首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

请教这个sql该如何写

2012-01-23 
请问这个sql该怎么写?idlogidcounts1jeff02jeff103jeff04face85face06jeff17jeff08face79jeff010jeff011je

请问这个sql该怎么写?
id         logid                         counts    
1           jeff                         0    
2           jeff                         10    
3           jeff                         0    
4           face                         8    
5           face                         0    
6           jeff                         1    
7           jeff                         0    
8           face                         7    
9           jeff                         0    
10         jeff                         0    
11         jeff                         0    
12         xixi                         6    
13         xixi                         2    
14         xixi                         11    
如何用最简单的sql来查询不同logid,counts最大的记录,并按倒序排列,结果如:    
14           xixi                         11    
2             jeff                         10
4             face                         8

[解决办法]
Select
*
From
TableName A
Where
Not Exists(Select counts From TableName Where logid = A.logid And counts > A.counts)
Order By
counts Desc
[解决办法]
select max(id) as 'id ',logid,max(counts) as 'counts '
from 表
group by logid
order by max(id) desc,max(counts) desc
[解决办法]
Select
*
From
TableName A
Where
counts = (Select Max(counts) From TableName Where logid = A.logid)
Order By
counts Desc
[解决办法]
Select
A.*
From
TableName A
Inner Join
(Select logid, Max(counts) As counts From TableName Group By logid) B


On A.logid = B.logid And A.counts = B.counts
Order By
A.counts Desc
[解决办法]
我寫的三種方法都可以。

--方法一
Select
*
From
TableName A
Where
Not Exists(Select counts From TableName Where logid = A.logid And counts > A.counts)
Order By
counts Desc
--方法二
Select
*
From
TableName A
Where
counts = (Select Max(counts) From TableName Where logid = A.logid)
Order By
counts Desc
--方法三
Select
A.*
From
TableName A
Inner Join
(Select logid, Max(counts) As counts From TableName Group By logid) B
On A.logid = B.logid And A.counts = B.counts
Order By
A.counts Desc

热点排行