用域名片段对包含电子邮件地址列的表进行排序的最短和/或有效的 SQL 语句是什么?
这基本上忽略了电子邮件地址中“@”之前的任何内容并且不区分大小写。让我们忽略这个的国际化域名。
目标:mySQL、MSSQL、Oracle
样本数据来自TABLE1
身份证 姓名 电子邮件 ------------------------------------------ 1 约翰·多伊 johndoe@domain.com 2 简·多伊 janedoe@helloworld.com 3 阿里巴巴 ali@babaland.com 4 Foo 酒吧 foo@worldof.bar.net 5 Tarrack Ocama me@am-no-president.org
通过电子邮件订购
SELECT * FROM TABLE1 ORDER BY EMAIL ASC
身份证 姓名 电子邮件 ------------------------------------------ 3 阿里巴巴 ali@babaland.com 4 Foo 酒吧 foo@worldof.bar.net 2 简·多伊 janedoe@helloworld.com 1 约翰·多伊 johndoe@domain.com 5 Tarrack Ocama me@am-no-president.org
按域排序
SELECT * FROM TABLE1 ORDER BY ?????? ASC
身份证 姓名 电子邮件 ------------------------------------------ 5 Tarrack Ocama me@am-no-president.org 3 阿里巴巴 ali@babaland.com 1 约翰·多伊 johndoe@domain.com 2 简·多伊 janedoe@helloworld.com 4 Foo 酒吧 foo@worldof.bar.net
编辑:
我不是要求一个适用于所有 3 个或更多 SQL 引擎的 SQL 语句。欢迎任何贡献。:)