您好我尝试过在microsoft访问中使用count(*)语句的代码 我成功使用了这个
SELECT Count(*) AS cafe3sales
FROM tblroder
WHERE OrderCode LIKE 'O03*';
但我需要在一张桌子上展示咖啡馆1 2和3的销售情况。你能帮我吗 ? 谢谢
这是我在Excel中的数据:
答案 0 :(得分:0)
您需要使用分组
SELECT Count(TableIDField) AS cafe3sales, Cafeid
FROM tblorder
Group By Cafeid
答案 1 :(得分:0)
您可以在“查询设计”视图中为您构建SQL,方法是在“咖啡馆”列的“总计:”行下拉列表中选择“分组依据”,并为另一列选择计数。如果您然后切换到SQLview,您将看到sql代码。
答案 2 :(得分:0)
您可以使用它将三个结果放在一个记录中
SELECT sum(iif(left(OrderCode,3)= 'O03',1,0)) AS cafe3sales,
sum(iif(left(OrderCode,3)= 'O02',1,0)) AS cafe2sales,
sum(iif(left(OrderCode,3)= 'O01',1,0)) AS cafe1sales,
FROM tblroder
或者这个在中有三个不同的记录。只有在每种类型中至少有一种(并且不存在其他类型)时才会获得三条记录。
SELECT count(*), left(OrderCode,3)
FROM tblroder
GROUP BY left(OrderCode,3)
ORDER BY left(OrderCode,3) desc
答案 3 :(得分:0)
您的要求不清楚。当你说:
...我需要在一张桌子上展示1号和2号咖啡馆的销售情况。
你的意思是你想知道销售数量(使用COUNT
)或总价值(使用SUM
)?
您是否希望返回的值是所有三个咖啡馆(1行)的总数,或者您想要查看每个咖啡馆的总数(3行)?
如果您想要所有三家咖啡馆的总数,请使用此商品获取订单的号
SELECT COUNT(*) AS CountOfOrders
FROM tblorder
WHERE CafeID IN ('C01', 'C02', 'C03')
或者这样可以获得订单的值
SELECT SUM(TotalPrice) AS SumOfTotalPrice
FROM tblorder
WHERE CafeID IN ('C01', 'C02', 'C03')
如果您需要为每个咖啡馆提供这些总计,则需要使用GROUP BY
& HAVING
。以下是与以前相同的两个查询,但每个咖啡馆的结果都是分开的
SELECT CafeID, COUNT(*) AS CountOfOrders
FROM tblorder
GROUP BY CafeID
HAVING CafeID IN ('C01', 'C02', 'C03')
SELECT SUM(TotalPrice) AS SumOfTotalPrice
FROM tblorder
GROUP BY CafeID
HAVING CafeID IN ('C01', 'C02', 'C03')