2017-07-19 2 views
0

こんにちは私はwhoのユーザーのために1つのクエリを作成します。 私の質問では正しい結果が得られません。私は質問に私の問題がどこにありません。どのようにそれを修正することができるという考えがあります。SQL Serverのいくつかのカテゴリでgroup byを使用してカウントを取得するにはどうすればよいですか?

これは私のクエリを修正=>

SELECT Name,count(SIF.InsertDateTime) as Count 
FROM dbo.InteresetInFollowers SIF 
    INNER JOIN dbo.Users u on u.userid = sif.userid 
    INNER JOIN dbo.SubCategoryIn ss on ss.SubCategoryInId = SIF.SubCategoryInId 
    INNER JOIN dbo.CategoryIn s on s.CategoryInId = ss.CategoryInId 
    WHERE SIF.IsFollowed = 1 
GROUP BY Name,SIF.InsertDateTime 

My current o/p => 
Name | Count 
Cricket   5000 
reading   1000 

My expacted o/p => 
Name | Count 
Cricket   2 
reading   3 

Here In my data base like this data is store => 

CategoryIn => 
CategoryInId | Name 
1    Cricket 
2    reading 



SubCategoryIn => 
SubCategoryInId | CategoryInId  | Name 
    1     1     balling 
    2     1     batsman 
    3     2     baybal 
    4     2     story 

InteresetInFollowers=> 
    InteresetInId | UserId | SubCategoryInId | IsFollow | InsertDateTime 
    1    10  1     1  2017-07-19 14:23:30.703 
    2    20  2     1  2017-07-19 14:23:30.703 
    3    30  3     1  2017-07-19 14:23:30.703 
    4    40  4     1  2017-07-19 14:23:30.703 
    5    50  3     1  2017-07-19 14:23:30.703 

答えて

1

です。

SELECT name 
,count(*) AS Count 
FROM dbo.InteresetInFollowers SIF 
INNER JOIN dbo.Users u ON u.userid = sif.userid 
INNER JOIN dbo.SubCategoryIn ss ON ss.SubCategoryInId = SIF.SubCategoryInId 
INNER JOIN dbo.CategoryIn s ON s.CategoryInId = ss.CategoryInId 
WHERE SIF.IsFollowed = 1 AND CAST(InsertDateTime AS DATE) = CAST(GETDATE() AS DATE) 
GROUP BY name 
+0

私は今日カウントする必要がありますか?どのようにそれを行うことができますので、日付の条件を使用して? –

+0

テキストを編集して確認しました。 – Dave94

関連する問題