php - Sql 查询计算性能
问题描述
我有以下数据库架构..
-- Companies
id
name
--financial_report
id
company_id
quarter (Q1, Q2, Q3, Q4)
fiscal_year (2018, 2017)
revenue
employees
我想获得基于季度和财政年度的公司的以下结果..
2018 年第三季度的样本结果
+-------------+-----------+---------+
| CompanyName | Employees | Revenue |
+-------------+-----------+---------+
| Company1 | 12 | 50,000 |
+-------------+-----------+---------+
SQLFIDDLE:http ://sqlfiddle.com/#!9/9813bf
谢谢
解决方案
您可以使用条件聚合Group By
:
SELECT
fr.fiscal_year,
fr.quarter,
c.name AS CompanyName,
SUM(fr.employees) AS Employees,
SUM(fr.revenue) AS Revenue
FROM companies AS c
JOIN financial_reports AS fr ON c.id = fr.company_id
GROUP BY fr.fiscal_year,
fr.quarter,
c.id
DB 小提琴演示
推荐阅读
- java - 如何使这个 for 循环反复遍历数组列表,直到达到条件?
- sql-server - SSMS Snippet - 多次使用 SurroundsWith 的选择
- c++ - 在原子布尔值上使用 compare_exchange_strong (C++)
- reactjs - 如何使用 react 或 Gatsby(whitout 窗口 || 文档)在 url 中处理(获取、设置)查询字符串
- matlab - 为什么 Encoder readSpeed() 的对象只有我输出 0 或 6.2500?
- c# - C# 全局日志记录
- tensorflow - 在多台机器上运行 TensorFlow Federated
- pandas - 将数据框插入到具有不同列的数据库中
- c# - 操作对象中数据的正确方法
- c++ - ESP8266WiFi.h:没有这样的文件或目录