gpt4 book ai didi

mysql - 在考虑地区的同时将门牌号聚合到 MIN 和 MAX

转载 作者:行者123 更新时间:2023-11-28 23:12:04 25 4
gpt4 key购买 nike

我想获得 MIN/MAX 门牌号,这很容易。

但是有一个包含区的列。

原始数据:

Street Name | House Number | district
Hauptstr. | 1 | A
Hauptstr. | 2 | A
Hauptstr. | 3 | B
Hauptstr. | 4 | B
Hauptstr. | 5 | A

期望的输出:

Street Name | House number (FROM) |  House number (TO) |  district
Hauptstr. | 1 | 2 | A
Hauptstr. | 3 | 4 | B
Hauptstr. | 5 | 5 | A

我的输出:

Street Name | House number (FROM) |  House number (TO) |  district
Hauptstr. | 1 | 5 | A
Hauptstr. | 3 | 4 | B

我乐于接受想法和建议。我需要一个临时表来处理地址吗?

提前谢谢你。

最佳答案

您可以使用变量在 MySQL 中执行此操作。它为相邻街道值的每一行分配一个组:

select street, district, min(housenumber), max(housenumber)
from (select t.*,
(@grp := if(@d = district, @grp,
if(@d := district, @grp + 1, @grp + 1)
)
) as grp
from t cross join
(select @d := '', @grp := 0) params
order by street, housenumber
) t
group by grp, street, district;

关于mysql - 在考虑地区的同时将门牌号聚合到 MIN 和 MAX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45543170/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com