【问题标题】:SQL List total orders in descending orderSQL 按降序排列总订单
【发布时间】:2013-05-04 05:11:57
【问题描述】:
SELECT Customer.CID, Count(Order.OrderID) AS [# Orders]
FROM Customer INNER JOIN [Order] ON Customer.CID = Order.CID
Group By Customer.CID DESC;

我试图按客户按降序列出订单总数。我在 group by 子句上遇到语法错误。我不确定语法错误是什么。

【问题讨论】:

  • 你遇到了什么错误?
  • “Group By 子句中的语法错误”

标签: sql ms-access syntax


【解决方案1】:

您缺少 ORDER BY 子句。您的查询应如下所示:

SELECT Customer.CID, Count(Order.OrderID) AS [# Orders]
FROM Customer INNER JOIN [Order] ON Customer.CID = Order.CID
GROUP BY Customer.CID
ORDER BY Customer.CID DESC;

【讨论】:

  • 顺便说一句,查询有效,但我喜欢避免使用像 Order 这样的保留字作为对象名称。
  • 如果我想按订单数量订购,我该怎么做?
  • ORDER BY Order.OrderID DESC;
【解决方案2】:

您应该使用order by 而不是group by
所以你的新查询将是,

SELECT Customer.CID, Count(Order.OrderID) AS [# Orders]
FROM Customer INNER JOIN [Order] ON Customer.CID = Order.CID
Order By Customer.CID DESC;

我没有桌子。所以请提供您的评论。

【讨论】:

  • 如果我想按订单数量订购,我该怎么做?
  • 您的查询不适用于用户。您需要使用 group by 和 order by。请看我的答案以获得澄清。
猜你喜欢
  • 1970-01-01
  • 2019-07-18
  • 1970-01-01
  • 2015-07-31
  • 2011-05-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-18
相关资源
最近更新 更多