sql - SQL 计算两列中的元素
问题描述
我正在尝试提出一个查询,该查询将允许我计算同一个表的两列的值。例如
table: rider_geo_addresses
==================================
|id | origin_id | destination_id |
==================================
1 4 8
1 2 6
1 8 4
1 6 2
1 1 5
1 2 8
我想要一个查询,它会给我 origin_id 和 destination_id 组合排序后的计数
table: result
============================
| geo_addresses | counter |
============================
8 3
2 3
6 2
4 2
5 1
1 1
我试图在两个单独的表上获取值并使用联合来组合它们,但它没有考虑到可能出现在两列中的相同值。这是我试过的
select ( origin_id) as geo_addresses, count(origin_id) as counter
from rider_geo_addresses
where rider_profile_id
group by origin_id
union
select ( destination_id) as geo_addresses, count(destination_id) as counter
from rider_geo_addresses
where rider_profile_id
group by destination_id
order by counter desc;
解决方案
据我了解,您的解决方案是在工会之后进行分组
SELECT
geo_addresses
,count(*) as counter
FROM (
select origin_id as geo_addresses
from rider_geo_addresses
where rider_profile_id
union all
select destination_id as geo_addresses
from rider_geo_addresses
where rider_profile_id
) t
GROUP BY geo_addresses
ORDER BY counter desc
推荐阅读
- azure - Copy files from gen2 ADLS based on acknowledgement file
- java - SpringBoot中自定义的WSDL端口绑定和名称值
- html - 在图像上获取静态导航栏
- split - 雪花计费
- node.js - “ResolutionError:密钥'repositories.xxxxxx.XxxxxRepository'未绑定到上下文中的任何值”生产应用程序中的错误
- pdf - 如何一次安装所有嵌入式 pdf?
- python - 如何实现一个函数来获取一个元素在复杂数据结构中的位置?
- jquery - 如何在jsTree中禁用多选?
- session - 我们可以在 MQTT 架构中复制 HTTP SESSION 的想法吗?
- python-3.x - 使用 OOP 解决此问题的最佳方法是什么?