SELECT Col1,Col2,Col3 FROM Table WHERE Column1具有重复项

Pan*_*lis 0 t-sql sql-server-2008-r2

我想显示表中col1重复的所有行.

+------+------+------+
| col1 | col2 | col3 |
+------+------+------+
|    1 |    0 |    0 |
|    1 |    1 |    1 |
|    2 |    0 |    0 |
|    3 |    0 |    0 |
|    3 |    1 |    1 |
|    4 |    0 |    0 |
+------+------+------+
Run Code Online (Sandbox Code Playgroud)

结果应该是:

+------+------+------+
| col1 | col2 | col3 |
+------+------+------+
|    1 |    0 |    0 |
|    1 |    1 |    1 |
|    3 |    0 |    0 |
|    3 |    1 |    1 |
+------+------+------+
Run Code Online (Sandbox Code Playgroud)

我已经尝试了一些没有运气的疑问,所以我在这里寻求你的帮助.

Tar*_*ryn 6

根据您的sql server版本,您可以使用:

select col1, col2, col3
from
(
  select col1, col2, col3,
    count(col1) over(partition by col1) cnt
  from yourtable
) src
where cnt > 1
Run Code Online (Sandbox Code Playgroud)

请参阅SQL Fiddle with Demo