C# 消除中继器中的重复数据
我的输出不是我期望的,我想要的是消除重复数据。我以前尝试过使用groupby和distinct,但都不起作用= 数据库中的数据 电流输出 列“ExerciseTable.r1”在选择列表中无效,因为它未包含在聚合函数或GROUP BY子句中 预期产量C# 消除中继器中的重复数据,c#,asp.net,C#,Asp.net,我的输出不是我期望的,我想要的是消除重复数据。我以前尝试过使用groupby和distinct,但都不起作用= 数据库中的数据 电流输出 列“ExerciseTable.r1”在选择列表中无效,因为它未包含在聚合函数或GROUP BY子句中 预期产量 在SQL语句C1第一列、c2第二列中: Select case when t.[RN]>1 and t.[RN]<>4 then '' else t.c1 end [c1], t.c2 from ( Select ROW_NU
在SQL语句C1第一列、c2第二列中:
Select
case when t.[RN]>1 and t.[RN]<>4 then '' else t.c1 end [c1],
t.c2 from
(
Select ROW_NUMBER() OVER (ORDER BY c1) AS [RN],c1,c2 from t1
) as t
或者,您可以使用C/VB.Net迭代结果集,例如:使用C/VB.Net创建一个列表,在第一行具有“我是谁?”和“你是谁”之后,删除列上的以下行的数据。分组依据不起作用,因为所有选定列都需要位于分组依据中或自身聚合-从中选择[Question],[r1][ExerciseTable]按[Question]分组,[r1]会起作用,但不可否认对你没有多大好处
who are u? A
B
C
Who am i? A
B
C
<asp:SqlDataSource ID="SqlDataSource2" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT [Question],[r1] FROM [ExerciseTable] GROUP BY [Question]">
</asp:SqlDataSource>
Select
case when t.[RN]>1 and t.[RN]<>4 then '' else t.c1 end [c1],
t.c2 from
(
Select ROW_NUMBER() OVER (ORDER BY c1) AS [RN],c1,c2 from t1
) as t
Select
case
when
t.[RN]=(
Select min([RN]) from
(
Select ROW_NUMBER() OVER (ORDER BY c1) AS [RN],c1,c2 from t1
) as t where c1='who am i?'
)
or
t.[RN]=(
Select min([RN]) from
(
Select ROW_NUMBER() OVER (ORDER BY c1) AS [RN],c1,c2 from t1
) as t where c1='who are u?'
) then t.c1 else '' end [c1],
t.c2 from
(
Select ROW_NUMBER() OVER (ORDER BY c1) AS [RN],c1,c2 from t1
) as t