Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 使用top x count查询作为where子句显示所有符合条件的记录_Sql_Sql Server_Ssms - Fatal编程技术网

Sql 使用top x count查询作为where子句显示所有符合条件的记录

Sql 使用top x count查询作为where子句显示所有符合条件的记录,sql,sql-server,ssms,Sql,Sql Server,Ssms,我数到了前2名 我的表中有这些数据 Name Age price visited size Jon 34 53 2018-01-01 9 Don 22 70 2018-03-01 15 Pete 76 12 2018-11-09 7 Jon 34 55 2018-09-13 9 Paul 90 64 2018-07-08 6 Pete 76 31 2018-03-25 7 Jon 75 34 2018-06-

我数到了前2名

我的表中有这些数据

Name Age price visited     size
Jon  34  53    2018-01-01  9  
Don  22  70    2018-03-01  15
Pete 76  12    2018-11-09  7
Jon  34  55    2018-09-13  9
Paul 90  64    2018-07-08  6
Pete 76  31    2018-03-25  7
Jon  75  34    2018-06-06  8


select top 2
name,
count(name) as cnt
from
tbl1
group by name
order by cnt desc
返回我的前两个名字

Jon  3
Pete 2
随着查询的运行,此名称将动态更改,具体取决于访问次数最多的用户(这非常简单,因为实际表中有1000个条目)

我想做的是,然后使用该查询的结果来获得以下内容,所有这些内容都需要在一个查询中完成

Name Age price visited     size
Jon  34  53    2018-01-01  9  
Jon  34  55    2018-09-13  9
Jon  75  34    2018-06-06  8
Pete 76  12    2018-11-09  7
Pete 76  31    2018-03-25  7
总之,计算访问次数最多的人,然后显示这些姓名下的所有记录


提前感谢

这里有一个选项使用中的

select *
from yourtable
where name in (
    select top 2 name
    from yourtable
    group by name
    order by count(*) desc
)
order by name

中使用
有一个选项:

select *
from yourtable
where name in (
    select top 2 name
    from yourtable
    group by name
    order by count(*) desc
)
order by name
可能的副本