我需要SQL代码来处理我需要在Access中执行的查询。我有一个包含多个字段的表,但我只需要2个字段进行查询。 1是日期字段。让我们称之为一个DateField。另一个是包含文本的字段,让我们调用点亮的TextField。我需要一个返回以下内容的查询:
非常感谢您提供的所有精彩帮助。
答案 0 :(得分:2)
我相信每个查询只能为一个给定的聚合函数选择一次。也就是说,您无法在单个查询中请求COUNT两个不同的字段。 Here's the reference用于JET SQL中的count函数。在一些WHERE子句下,您可以计算分组结果集中某个字段的非NULL值的数量。
答案 1 :(得分:0)
怎么样:
SELECT
Year
,COUNT(DISTINCT DateField) AS NumDateFields
,COUNT(CASE WHEN TextField = 'ThisText' THEN 1 END) AS ThisTextCount
,COUNT(CASE WHEN TextField = 'ThatText' THEN 1 END) AS ThisTextCount
GROUP BY Year;
或...... GROUP BY Month
答案 2 :(得分:0)
SELECT YEAR/MONTH(DateField), COUNT(DateField),
SUM(IIF(TextField='ThisText', 1, 0)),
SUM(IIF(TextField='ThatText', 1, 0))
FROM MyTable
GROUP BY YEAR/MONTH(DateField)