特定の日のカテゴリのクリック数を含む行を含むテーブルがあります。このような:
ID CatID Date Count
1 DADB 2011-11-04 00:00:00 3
2 DCBC 2011-11-04 00:00:00 9
3 DADH 2011-11-04 00:00:00 9
したがって、2 つの日付間の各カテゴリの合計数を表示するには、次のようにします。
SELECT WebClicksCategory.CatID, sum(WebClicksCategory.Count) as Count
FROM [Web].[dbo].[WebClicksCategory]
WHERE Date >= '2011-04-17 00:00:00.000'
AND Date <= '2012-04-17 00:00:00.000'
GROUP BY WebClicksCategory.CatID
ORDER BY Count desc
ただし、これらの結果をページ分割して次のようにしたい場合:
SELECT * FROM
( SELECT row_number() OVER (order by Count) AS rownum,
WebClicksCategory.CatID, sum(WebClicksCategory.Count) as Count
FROM [Web].[dbo].[WebClicksCategory]
WHERE Date >= '2011-04-17 00:00:00.000'
AND Date <= '2012-04-17 00:00:00.000'
GROUP BY WebClicksCategory.CatID
) AS A
WHERE A.rownum BETWEEN (50) AND (200)
しかし、「Column WebClicksCategory.Count は、集計関数または GROUP BY 句のいずれにも含まれていないため、選択リストで無効です」というエラーが表示されます。結果をページ分割する別の方法はありますか?