gpt4 book ai didi

mysql - 如何使用sql语句达到我想要的结果?

转载 作者:行者123 更新时间:2023-11-29 11:09:21 26 4
gpt4 key购买 nike

我的数据库中有一些数据。我尝试进行检索,结果应该是这样的。

当前表:

FName| lName | phoneNo | year
Tom | Tan | 9123456 | 1
Tom | Tan | 9012345 | 1 <----extra row

我想要什么:

FName | lName| phoneNo| year | phoneNo2
Tom | Tan | 9123456| 1 |9012345

如何使用sql语句实现这一点?

我想看看 FName 和 lName 是否重复,然后重复的数据将被合并,这样,phoneNo 将被添加到名为 PhoneNo2 的列中。

最佳答案

执行GROUP BY,使用MIN()获取第一个phoneno,使用MAX()获取第二个。

select FName, lName, min(phoneNo), max(year), max(phoneNo)
from tablename
group by FName, lName

您还可以进行 self LEFT JOIN:

select t1.FName, t1.lName, t1.phoneNo, t1.year, t2.phoneNo
from tablename t1
left join tablename t2
on t1.FName = t2.FName and t1.lName = t2.lName
and t1.phoneNo < t2.phoneNo

注意:根据 ANSI SQL,YEAR 是保留字,因此您可能需要将其分隔为“year”

关于mysql - 如何使用sql语句达到我想要的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40884268/

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