gpt4 book ai didi

sql - MySQL - 显示按名称分组的名称和地址行,其中名称出现多次

转载 作者:行者123 更新时间:2023-11-29 06:23:34 27 4
gpt4 key购买 nike

我有两个表,“名称”和“地址”。我想列出表“name”中多次出现的表“name”中所有last_namelast_name和加入的address.street_address ”。

这两个表在“name_id”列上连接。

所需的输出将如下所示:

213 | smith | 123 bluebird | 
14 | smith | 456 first ave |
718 | smith | 12 san antonia st. |
244 | jones | 78 third ave # 45 |
98 | jones | 18177 toronto place |

请注意,如果姓氏“abernathy”在表“name”中仅出现一次,则“abernathy”不应包含在结果中。

这是我到目前为止想到的:

SELECT name.name_id, name.last_name, address.street_address, count(*)
FROM `name`
JOIN `address` ON name.name_id = address.name_id
GROUP BY `last_name`
HAVING count(*) > 1

但是,这只会为每个姓氏生成一行。我想要列出所有姓氏。我知道我错过了一些简单的事情。感谢任何帮助,谢谢!

最佳答案

用途:

SELECT t.name_id,
t.last_name,
a.street_address
FROM NAME t
JOIN ADDRESS a ON a.name_id = t.name_id
JOIN (SELECT n.last_name
FROM NAME n
GROUP BY n.last_name
HAVING COUNT(*) > 1) nn ON nn.last_name = t.last_name

关于sql - MySQL - 显示按名称分组的名称和地址行,其中名称出现多次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1604367/

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