2

アクセスで次のことを完了するにはどうすればよいですか

SELECT MONTH([Date]) as monthNum, 
AVG(CASE WHEN loc ='1' THEN  [Count] END) AS locAVG, 
AVG(CASE WHEN dept ='50' THEN  [Count] END) AS deptAVG, 
FROM [table]
GROUP BY MONTH([Date]) 
4

2 に答える 2

5

IIFこの場合に使用できます。

AVG( IIF(loc = "1", 1, 0) ) AS locAVG, 
于 2012-07-31T15:16:05.953 に答える
1

[Count]がフィールドの名前であると仮定すると、 の行locAVGの平均を求める場合、関数が Null 値を無視するという事実を利用できます。そのため、式を使用していつフィードし、それ以外の場合は Null にフィードします。[Count]loc ='1'AVG()IIf()[Count]AVG()loc ='1'

についても同様のIIf()表現を使用しdeptAVGます。

SELECT MONTH([Date]) as monthNum, 
    AVG(IIf(loc ='1', [Count], Null)) AS locAVG, 
    AVG(IIf(dept ='50', [Count], Null)) AS deptAVG, 
FROM [table]
GROUP BY MONTH([Date]); 
于 2012-07-31T15:30:21.287 に答える