【问题标题】:How I can return the max product that was sold by city?如何退回按城市销售的最大产品?
【发布时间】:2015-09-29 06:29:26
【问题描述】:

我有按城市销售的产品如何退回按城市销售的最大产品??

这是我的查询:

我对每种产品的数量进行了求和,以获得按产品数量的单一值。

select
product,
sum(qty_city_o) as qty_o,
sum(qty_city_t) as qty_t,
sum(qty_city_th) as qty_th
FROM products
GROUP BY product

【问题讨论】:

  • 使用max 而不是sum
  • @vkp 同一种产品可以多次销售,这就是为什么我要按产品求和 f 以返回单个数量值。
  • 我没有看到任何地方提到的city 列。
  • qty_city_o,qty_city_t,qty_city_th
  • 您能否提供一些示例数据以及预期结果?就目前而言,尚不清楚您实际想要实现的目标。

标签: mysql sql


【解决方案1】:

您必须将每个城市作为单独的查询进行。 比如:

SELECT qty_city_o, COUNT(product) FROM products GROUP BY qty_city_o ORDER BY COUNT(product) DESC LIMIT 1

【讨论】:

    【解决方案2】:

    这应该为您提供每个城市的最大销售产品:

    SELECT 'city_o', A.* FROM (SELECT 
        product, productcount
    FROM
        (SELECT 
            product, COUNT(product) productcount
        FROM
            products
        WHERE
            qty_city_o > 0
        GROUP BY product) B
    ORDER BY productcount DESC
    LIMIT 1 ) A
    UNION ALL
    SELECT 'city_t', A.* FROM (SELECT 
        product, productcount
    FROM
        (SELECT 
            product, COUNT(product) productcount
        FROM
            products
        WHERE
            qty_city_t > 0
        GROUP BY product) B
    ORDER BY productcount DESC
    LIMIT 1 ) A
    UNION ALL
    SELECT 'city_th', A.* FROM (SELECT 
        product, productcount
    FROM
        (SELECT 
            product, COUNT(product) productcount
        FROM
            products
        WHERE
            qty_city_th > 0
        GROUP BY product) B
    ORDER BY productcount DESC
    LIMIT 1) A;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-10
      • 2015-02-26
      • 2016-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多