Mysql 选择列中字符串中的最大数字
我有一些复杂的任务。我在电子邮件栏中有一些数据: 鲍里斯普尔-admin@fff.com 硼酸盐-admin@fff.com 硼酸盐-admin@fff.com 我需要得到最大的号码。例如,它的5 注意:有些时间名称可以以数字结尾: 库哈里24-admin@fff.com 库哈里242-admin@fff.com 库哈里243-admin@fff.com 这里的真名是kuhari24。最大的数字是3。 这是我的答案,但它非常丑陋。有更好的主意吗Mysql 选择列中字符串中的最大数字,mysql,sql,regex,Mysql,Sql,Regex,我有一些复杂的任务。我在电子邮件栏中有一些数据: 鲍里斯普尔-admin@fff.com 硼酸盐-admin@fff.com 硼酸盐-admin@fff.com 我需要得到最大的号码。例如,它的5 注意:有些时间名称可以以数字结尾: 库哈里24-admin@fff.com 库哈里242-admin@fff.com 库哈里243-admin@fff.com 这里的真名是kuhari24。最大的数字是3。 这是我的答案,但它非常丑陋。有更好的主意吗 SELECT REPLACE( (
SELECT REPLACE(
(
SELECT REPLACE(
(
SELECT MAX(email)
FROM account
WHERE email LIKE 'borispil%'
)
, '--admin@fff.com', '')
)
, 'borispil', '') AS maxNumber
您可以轻松使用替换和+0查找名称后的整数 挑选 字段实名, 最大值(用电子邮件替换(fiel,字段实名“”)+0)作为最大值 从你的桌子上 按领域重新命名分组 样本
MariaDB [(none)]> select REPLACE('kuhari243-admin@fff.com','kuhari24','') + 0;
+------------------------------------------------------+
| REPLACE('kuhari243-admin@fff.com','kuhari24','') + 0 |
+------------------------------------------------------+
| 3 |
+------------------------------------------------------+
1 row in set, 1 warning (0.00 sec)
MariaDB [(none)]>
“我正在使用MySQL”,那么请不要标记其他RDBMS。我已删除。“我正在尝试正则表达式”-请告诉我们您如何知道
abc24 admin
是用户还是另一个abc2
备选用户?我有abc2姓名您可以为一封电子邮件提供10个以上的匹配项吗?为什么您拥有此答案?它不能满足我的需要。如果我有鲍里斯普尔呢-admin@fff.com硼酸盐-admin@fff.com硼酸盐-admin@fff.com这样的争吵,你也必须有库哈里这样的真名。。因此,你可以通过它来重新命名ang组,并给出最大值。我将在我的答案中添加它。