求SQL语句

qugui 2007-01-19 03:53:54
我要做一个根据点击排行的表。
我的语句是这样的:
select movieHit,movieName,movieID from movieT where movieHit in (select top 10 movieHit from movieT)
但现在有问题,movieHit在表中有重复,这样10个最高的movieHit返回的值不止10条,
我的语句要怎么写才能只返回10条movieHit最高的记录.
...全文
141 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
teachman_999 2007-01-19
  • 打赏
  • 举报
回复
select top 10 movieHit,movieName,movieID from movieT order by movieHit desc
zty0527 2007-01-19
  • 打赏
  • 举报
回复
3 1
11 2
10 3
9 4
8 5
7 6
6 7
5 8
4 9
12 9
lazyfish 2007-01-19
  • 打赏
  • 举报
回复
select top 10 movieHit,movieName,movieID from movieT order by movieHit desc
zty0527 2007-01-19
  • 打赏
  • 举报
回复
改成这样select [id],[movieHit] from (select distinct top 10 [id],[movieHit] from a order by moviehit) as b

zty0527 2007-01-19
  • 打赏
  • 举报
回复
1 10
2 10
3 1
4 9
5 8
6 7
7 6
8 5
9 4
10 3
zty0527 2007-01-19
  • 打赏
  • 举报
回复
drop table a
create table a
(
[id] int,
[movieHit] int
)
go

insert into a select 1,10
union all
select 2,10
union all
select 3,1
union all
select 4,9
union all
select 5,8
union all
select 6,7
union all
select 7,6
union all
select 8,5
union all
select 9,4
union all
select 10,3
union all
select 11,2
union all
select 12,9




select [id],[movieHit] from (select distinct top 10 [id],[movieHit] from a ) as b
qugui 2007-01-19
  • 打赏
  • 举报
回复
这样可能行不通,movieHit 在 (select distinct top 10 movieHit from movieT)记录中会找到不止10条的记录,因为movieHit不是唯一的。
glacier111 2007-01-19
  • 打赏
  • 举报
回复
select movieHit,movieName,movieID from movieT where movieHit in (select distinct top 10 movieHit from movieT)

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧