如何在单个查询中进行分组和计数?

时间:2012-07-18 21:59:24

标签: sql group-by ms-access-2007 aggregate-functions

我认为它应该使用GroupBy和聚合函数来执行我需要的以下步骤,但是我无法让它工作: 所以说我有下表但有更多记录 价

         Cost Zone  Zip Code    Weight(lbs) Price   Cost    Freight Value
             5       K0K             1209      0    135     289
             5       K0K             157       0    135     0
             5       K0L             1425      0    135     650
             5       K0L             1425      0    135     1999

我希望提出一个查询,说明“运费值”的计数属于其中一个范围

          Zip Code  Range 0-500 Range 501-1000  Range 1001-2000
            K0K         2              0                  0
            K0L         0              1                  1                         

这怎么可能这样做?如果您需要我详细解释请告诉我,谢谢你!

1 个答案:

答案 0 :(得分:1)

这将在MS Access中运行。您将需要一个范围表,然后:

TRANSFORM Sum(t1.FreightValue) AS SumFreightValue
SELECT t1.ZipCode
FROM t1, Range
WHERE (((t1.FreightValue) Between [range].[Upper] And [range].[lower]))
GROUP BY t1.ZipCode
PIVOT Range.Range

范围表

Range      Lower   Upper
0-500          0     500
501-1000     501    1000
1001-2000   1001    2000
相关问题