首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

Sql语句有关问题

2012-01-01 
Sql语句问题!selecttop6*from(selectBlogID,Hitsmax(Hits)fromBlog_ArticlegroupbyBlogID)borderbyb.Hits

Sql语句问题!
select   top   6   *  
from   (select   BlogID,Hits=max(Hits)   from   Blog_Article     group   by   BlogID)   b  
order   by   b.Hits   desc

以上Sql语句查询正确,但是我想

select   BlogID,Hits=max(Hits)   from   Blog_Article     group   by   BlogID

这里查询的时候多返回一个Title字段,但是又不能让他参与group   by,该怎么办?

[解决办法]
那在title前也加一个max试试
[解决办法]
--如果你的BlogID只對應一個Title,那麼可以這樣
select BlogID,Hits=max(Hits), Title from Blog_Article group by BlogID, Title

--如果你的BlogID對應多個Title,查詢的時候,你希望取哪個Title,如果是隨便取一個,可以這樣
select BlogID,Hits=max(Hits), Title = max(Title) from Blog_Article group by BlogID
--或者
select BlogID,Hits=max(Hits), Title = min(Title) from Blog_Article group by BlogID
[解决办法]
另外,你的語句可以做下簡化

select top 6 *
from (select BlogID,Hits=max(Hits) from Blog_Article group by BlogID) b
order by b.Hits desc
改為
select top 6 BlogID,Hits=max(Hits) from Blog_Article group by BlogID
order by Hits desc

热点排行