數不同的值我有table A
與五行和以下值:分組由除此之外的所有列在剩餘列
Column1 Column2 Column3 Column4
------- ------- ------- -------
anna ben cat d
anna ben cat e
anna ben cat f
gina hugh ken m
gina hugh ken p
我想添加一個名爲Column5
另一列。的值將是3前3行2對未來2行:
Column1 Column2 Column3 Column4 Column5
------- ------- ------- ------- -------
anna ben cat d 3
anna ben cat e 3
anna ben cat f 3
gina hugh ken m 2
gina hugh ken p 2
我怎麼做:
SELECT DISTINCT COUNT (DISTINCT t1.Column4) AS Column5,
Column1, Column2, Column3, Column4
FROM TableA AS t1
GROUP BY Column1, Column2, Column3;
這不起作用:
Msg 8120, Level 16, State 1, Procedure COUNT, Line 29
Column 'Column4' invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
請幫忙嗎?非常感激。
PS:如果我在group by子句中添加Column4
,那麼在Column5
的結果表中我只能得到「1」的值。
與我的一個不同之處在於,對於組中的「Column4」複製的行只會在使用此答案的結果中出現一次,並且會多次使用我的答案。儘管OP在他們的示例數據中沒有給出這個例子。 – 2012-07-15 18:27:14
但是他們*在其查詢的SELECT子句中包含了'DISTINCT'。我首先感到困惑,但現在我想我可以看到它的存在。 – 2012-07-15 18:31:18
奇妙的是,我申請了這個答案,它的工作和適合和目的。你們都很棒。 – Sam 2012-07-15 19:41:02