【问题标题】:Select Company Names with more than X Orders选择超过 X 个订单的公司名称
【发布时间】:2012-11-07 20:29:40
【问题描述】:

订单表包含订单列表以及每个订单的客户 ID。并且不同的订单可以有相同的客户 ID,这意味着一个公司已经下了多个订单(假设客户 ID 是公司的 ID)。

公司名称来自客户表,我的目标是选择订单数量超过 X 的公司名称。

现在,我的第一步是将这两个表加入比较,然后我也可以选择公司名称,但是我很困惑如何只选择超过X个订单的公司。

到目前为止,我有这个,它为他们发出的 X 次订单写出 X 次公司名称。

SELECT CompanyName
    FROM Orders, Customers
        WHERE Orders.CustomerID = Customers.CustomerID;

如何只获得大于 X 订单的公司名称?我试过了 WHERE COUNT(CompanyName)>3 ,但这只是给出了错误。我认为我没有学到任何其他东西 如何量化从列中选择的方法。

【问题讨论】:

    标签: sql-server northwind


    【解决方案1】:
     SELECT CompanyName
        FROM Orders
        JOIN Customers ON Orders.CustomerID = Customers.CustomerID
    GROUP BY CompanyName
      HAVING COUNT(CompanyName) > 3
    

    【讨论】:

    • 我的sn-p和你代码的前三行有明显区别吗?它似乎产生了相同的结果。
    • 没有。但是从 1992 年开始,世界已经转向使用 ANSI JOIN 语法而不是逗号列表。
    猜你喜欢
    • 1970-01-01
    • 2020-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-26
    • 1970-01-01
    • 1970-01-01
    • 2023-01-26
    相关资源
    最近更新 更多