gpt4 book ai didi

sql - SQL:按电子邮件域名排序

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

用DOMAIN名称片段对带有电子邮件地址列的表进行排序的最短和/或有效的SQL语句是什么?

这实际上是在忽略电子邮件地址中“@”之前的内容,并且不区分大小写。让我们忽略此域名的国际化域名。

定位于:mySQL,MSSQL,Oracle

来自TABLE1的样本数据

ID名称电子邮件
------------------------------------------
1 John Doe johndoe@domain.com
2 Jane Doe janedoe@helloworld.com
3 Ali Baba ali@babaland.com
4 Foo酒吧foo@worldof.bar.net
5塔拉克·奥卡玛(Tarrack Ocama)me@am-no-president.org

通过电子邮件订购SELECT * FROM TABLE1 ORDER BY EMAIL ASC
ID名称电子邮件
------------------------------------------
3 Ali Baba ali@babaland.com
4 Foo酒吧foo@worldof.bar.net
2 Jane Doe janedoe@helloworld.com
1 John Doe johndoe@domain.com
5塔拉克·奥卡玛(Tarrack Ocama)me@am-no-president.org

按域排序SELECT * FROM TABLE1 ORDER BY ?????? ASC
ID名称电子邮件
------------------------------------------
5塔拉克·奥卡玛(Tarrack Ocama)me@am-no-president.org
3 Ali Baba ali@babaland.com
1 John Doe johndoe@domain.com
2 Jane Doe janedoe@helloworld.com
4 Foo酒吧foo@worldof.bar.net

编辑:
我不是要一个在所有3个或更多SQL引擎上都可以使用的SQL语句。欢迎任何贡献。 :)

最佳答案

尝试这个

查询(对于SQL Server):

select * from mytbl
order by SUBSTRING(email,(CHARINDEX('@',email)+1),1)

查询(对于Oracle):
select * from mytbl
order by substr(email,INSTR(email,'@',1) + 1,1)

查询(对于MySQL)
pygorex1 already answered

输出:

ID名称电子邮件
5   Tarrack Ocama   me@am-no-president.org
3 Ali Baba ali@babaland.com
1 John Doe johndoe@domain.com
2 Jane Doe janedoe@helloworld.com
4 Foo Bar foo@worldof.bar.net

关于sql - SQL:按电子邮件域名排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1811531/

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