sql - SQL如何从上个月的group by中获取一个值以在当前group by中使用?
问题描述
您如何在同一行获得今年的潜在客户数量和去年的潜在客户数量。我需要的查询更复杂,但这是第一步。
输出
Year,Count,Last Year Count
2016,55,88
2017,77,55
2018,83,77
SELECT L1.Year, count(L1.LeadId), count(Lead_Last_Year.Lead_count) from Leads
???
Group by Year
谢谢你
解决方案
您可以尝试左加入分组子查询。
SELECT x.year,
x.count,
y.count last_year_count
FROM (SELECT l1.year,
count(l1.leadid) count
FROM leads l1
GROUP BY l1.year) x
LEFT JOIN (SELECT l1.year,
count(l1.leadid) count
FROM leads l1
GROUP BY l1.year) y
ON y.year = x.year - 1;
如果您的 DBMS 支持 CTE,您还可以使用 CTE 而不是重复子查询。
WITH cte
AS
(
SELECT l1.year,
count(l1.leadid) count
FROM leads l1
GROUP BY l1.year
)
SELECT x.year,
x.count,
y.count last_year_count
FROM cte x
LEFT JOIN cte y
ON y.year = x.year - 1;
推荐阅读
- android - Unclustering 仍然显示聚集标记 Google Maps Android
- c++ - 使用 c++ lambda 表达式初始化类成员
- amazon-web-services - 在 AWS ECS 中设置服务的问题
- flutter - 为同一 Wrap 子项下的不同 textformfields 分配不同的字段输入
- javascript - 使用 CSS 和 jQuery 将数字动画到单独的跨度中
- javascript - 从下面的屏幕截图中选择 td 值的 javascript 代码
- uwp - 卸载 UWP 应用后如何删除桌面快捷方式
- php - 从第 1 页重定向到第 2 页时,显示第 2 页加载而不是第 1 页加载
- ios - 如何更改小部件中心“添加小部件”按钮的颜色
- python - 在 Opencv、Pillow 中应用透明蒙版时图像颜色发生变化