Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.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 如何选择子集中至少有两个相同值的所有行_Sql_Sql Server - Fatal编程技术网

Sql 如何选择子集中至少有两个相同值的所有行

Sql 如何选择子集中至少有两个相同值的所有行,sql,sql-server,Sql,Sql Server,SQL的新特性对我来说很难。例如,我有一个有两列的表 page_session_id, event_name 假设我要选择在同一页面中至少有两个事件\u name='started'的所有行\u session\u id如果您有多行,并且希望从表中获取所有列,则可以使用此选项 ;with cte as ( select *, count(*) over(partition by page_session_id) as cnt from <table

SQL的新特性对我来说很难。例如,我有一个有两列的表

page_session_id, event_name

假设我要选择在同一页面中至少有两个事件\u name='started'的所有行\u session\u id

如果您有多行,并且希望从表中获取所有列,则可以使用此选项

;with cte as (
   select
       *,
       count(*) over(partition by page_session_id) as cnt
   from <table>
   where event_name = 'started'
)
select *
from cte
where cnt > 1
一种方法是:

select 
    page_session_id, event_name
from tbl 
where event_name = 'started'
group by page_session_id, event_name
having count(*) >= 2

你能分享一些样本数据和你期望从中得到的结果吗?谷歌通过在SQL Server中使用和计算函数来了解GROUP BY。它们是你解决问题所需要的全部。