2017-01-12 15 views
0

「競合」と「ユーザー」列に基づいて最後の列を取得するにはどうすればよいですか?次のクエリでエラーが発生します。私にはわからない2列に基づいて1列のカウントを見つける方法

SELECT DISTINCT COUNT(*) AS countofcomments 
 
FROM k 
 
GROUP BY competition, user

enter image description here

+0

"2つの列に基づいて1つの列のカウントを検索する方法はありますか? –

+0

@Alex私に知らせてくれてありがとう!それを私が直した。私はちょうど3日間、ワークショップの論文のために、まだデータ分析を実行するための適切なデータを持っていない!私の脳が機能しなくなった –

+0

コメントに含まれるはずのものが分かりません。それは数字か文字列ですか、それともコメントの配列を持つテーブルですか?あなたのテーブル構造は何ですか? –

答えて

0

あなたが達成しようとして良い練習が、結果セットを考える上で、あなたがこの

CREATE TABLE #Example(
     [competition]  [nvarchar](50) NULL,  
     [user] [nvarchar](50) NULL, 
     [comments] nvarchar(50) NOT NULL, 
) 
GO 

INSERT #Example ([competition],[user], [comments]) VALUES ('INDIA','CHENNAI','ssss') 
INSERT #Example ([competition],[user], [comments]) VALUES ('INDIA','KOCHI','ssss') 
INSERT #Example ([competition],[user], [comments]) VALUES ('INDIA','BANGLORE','ssss') 
INSERT #Example ([competition],[user], [comments]) VALUES ('INDIA','HYDERABAD','ssss') 
INSERT #Example ([competition],[user], [comments]) VALUES ('US','MAIAMI','ssss') 
INSERT #Example ([competition],[user], [comments]) VALUES ('US','SANFRANC','ssss') 
INSERT #Example ([competition],[user], [comments]) VALUES ('US','MOUNT','ssss') 
INSERT #Example ([competition],[user], [comments]) VALUES ('US','LOSANGELS','ssss') 
INSERT #Example ([competition],[user], [comments]) VALUES ('UK','MANCHESTER','ssss') 
INSERT #Example ([competition],[user], [comments]) VALUES ('UK','CHELSEA','ssss') 

SELECT * from (
SELECT * FROM #Example 
) tab1 join 

(
SELECT [competition] , count([comments])count FROM #Example 
group by [competition] 
) tab2 on tab1.[competition]= tab2.[competition] 


DROP table #Example 
0
ような何かを試すことができるということです

窓関数を使用してこれを行うことができます:

SELECT *, COUNT(*) OVER(PARTITION BY competition, user) as [Count of comments] 
FROM k 
関連する問題