我很难理解我认为应该是一个简单的问题。我想选择表中一个特定列具有重复值的所有列。
我一直在尝试使用聚合函数,但这限制了我,因为我只想匹配一列并显示所有值。使用聚合似乎需要我“分组”我要显示的所有列。
我很难理解我认为应该是一个简单的问题。我想选择表中一个特定列具有重复值的所有列。
我一直在尝试使用聚合函数,但这限制了我,因为我只想匹配一列并显示所有值。使用聚合似乎需要我“分组”我要显示的所有列。
You can join on a derived table where you aggregate and determine "col" values which are duplicated:
SELECT a.*
FROM Table1 a
INNER JOIN
(
SELECT col
FROM Table1
GROUP BY col
HAVING COUNT(1) > 1
) b ON a.col = b.col
如果我理解正确,应该这样做:
SELECT *
FROM YourTable A
WHERE EXISTS(SELECT 1
FROM YourTable
WHERE Col1 = A.Col1
GROUP BY Col1
HAVING COUNT(*) > 1)
此查询使您有机会按升序或降序排列可乐并更改可乐输出。
这是关于SqlFiddle的演示。
with cl
as
(
select *, ROW_NUMBER() OVER(partition by colb order by cola ) as rn
from tbl)
select *
from cl
where rn > 1