作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要一些构建查询的帮助。
这是我需要的:
我有一个名为数据的表:
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/
我是一名优秀的程序员,十分优秀!