【发布时间】:2013-02-26 05:55:47
【问题描述】:
假设我有一个包含许多列的 SQL Server 表,类似于:
Col1: Col2: Col3: ... Coln:
Val1_1 Val1_2 Val1_3 Val1_n
Val2_1 Val2_2 Val2_3 Val2_n
Val3_1 Val3_2 Val3_3 Val3_n
Val3_1 Val4_2 Val4_3 Val4_n
Val3_1 Val5_2 Val5_3 Val5_n
在这种情况下,Val3_1 在最后 3 条记录中重复 Col1,而其余值不重复。
我如何编写查询以返回 Col1 的值被复制以返回的完整列集:
Col1: Col2: Col3: ... Coln:
Val3_1 Val3_2 Val3_3 Val3_n
Val3_1 Val4_2 Val4_3 Val4_n
Val3_1 Val5_2 Val5_3 Val5_n
我尝试使用Group By 函数,但我不得不写出每一列的名称(这非常令人沮丧),我希望得到类似的东西:
SELECT MyTable.* FROM MyTable WHERE count(MyTable.Col1) OVER() > 1
显然,这不起作用,但我怎么能按照这些思路做点什么??
谢谢!!!
【问题讨论】:
标签: sql sql-server