【问题标题】:How to get order output after using group in the sql query?在sql查询中使用group后如何获取订单输出?
【发布时间】:2010-08-03 20:09:39
【问题描述】:

我有一个我的 sql 表,其中包含客户姓名和他们随时间下达的订单。

表列名是id、客户名、订单值、状态、创建和修改。

我可以对客户名称和订单数量进行分组。

使用这样的 sql 查询..

SELECT Customer,count(OrderPrice) FROM Orders GROUP BY Customer

它工作正常。但我希望输出按订单数(计数)排序。有大量订单的客户排在首位。

感谢您的帮助。

谢谢。

【问题讨论】:

    标签: php sql mysql cakephp


    【解决方案1】:
        SELECT Customer
             , count(OrderPrice) cnt
          FROM Orders
      GROUP BY Customer
      ORDER BY cnt DESC
    

    【讨论】:

    • 仅供参考:ORDER BY 中的数字称为“序数”——在此示例中,它指的是 SELECT 子句第二个位置的列值。不推荐的做法 - 如果列顺序发生变化,排序仍将基于第二列。
    • @OMG Ponies - 很公平,我修好了 :)。
    • @OMG Ponies - 谢谢,我很感激 :)。
    【解决方案2】:

    选择客户, count(OrderPrice) order_count 从订单 按客户分组 ORDER BY order_count desc

    享受吧!

    【讨论】:

    • 您的 GROUP BY / ORDER BY 是向后的(即 GROUP BY 在 ORDER BY 之前)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-01
    • 2013-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多