我需要一些帮助来构建查询。
这是我需要的:
我有一个名为data的表:
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
但是如何添加国家、设备和系统?
这在单个查询中是否可行,如果不是最好的方法(性能方面)是什么?
非常感谢您的帮助。
编辑 我编辑了示例表以更好地解释。