Mysql 我如何退回城市销售的max产品?

Mysql 我如何退回城市销售的max产品?,mysql,sql,Mysql,Sql,我有按城市销售的产品我如何返回按城市销售的最大产品 这是我的疑问: 我计算了每个产品的数量之和,得到了每个产品数量的单个值 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 您必须对每个城市进行单独的查询。 比如: SELECT qty_city_o, COUNT(product) FROM p

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

这是我的疑问:

我计算了每个产品的数量之和,得到了每个产品数量的单个值

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

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

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

这将为您提供每个城市的最大销售量:

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;

使用
max
而不是
sum
@vkp同一产品可以销售多次,这就是为什么我使用sum fto按产品返回单个数量值。我没有看到任何地方提到
city
列。qty\u city\o,qty\u city\t,qty\u city\t您能提供一些示例数据和预期结果吗?目前还不清楚你到底想要实现什么。