gpt4 book ai didi

mysql - 复杂的sql查询(GROUP BY)

转载 作者:行者123 更新时间:2023-11-29 08:42:42 26 4
gpt4 key购买 nike

我需要一些构建查询的帮助。

这是我需要的:

我有一个名为数据的表:

   ID| PRODUCT | VALUE |COUNTRY|  DEVICE | SYSTEM 
-----+---------+-------+-------+---------+--------
48 | p1 | 0.4 | US | dev1 | system1
47 | p2 | 0.67 | IT | dev2 | system2
46 | p3 | 1.2 | GB | dev3 | system3
45 | p1 | 0.9 | ES | dev4 | system4
44 | p1 | 0.6 | ES | dev4 | system1

我需要展示哪些产品产生了最多的收入,以及哪个国家/地区、设备和系统贡献最大。

**例如:我从表中得到的结果是:

 PRODUCT | TOTAL COST |COUNTRY|  DEVICE | SYSTEM 
-------+------------+-------+---------+--------
p1 | 1.9 | ES | dev4 | system1
p2 | 0.67 | IT | dev2 | system2
p3 | 1.2 | GB | dev3 | system3

排名第一的国家是 ES,因为 ES 的贡献为 0.9 + 0.6 = 1.5 > 0.4(美国的贡献)。

顶级设备和顶级系统的逻辑相同。**

我想对于总收入和产品来说,这样的事情就可以了:

SELECT SUM(value) as total_revenue,product FROM data GROUP BY product

但是如何添加国家、设备和系统?

这在单个查询中是否可行,如果不可行,最好的方法(性能方面)是什么?

非常感谢您的帮助。

编辑我编辑了示例表以更好地解释。

最佳答案

在单独的查询中执行此操作:

SELECT   product,
SUM(value) AS amount
FROM data
GROUP BY country -- change to device, system, etc. as required
ORDER BY amount DESC
LIMIT 1

关于mysql - 复杂的sql查询(GROUP BY),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13336563/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com