您好,我已保存电子邮件地址,例如以下格式:
NEWUSER1@domain.com
NEWUSER3@domain.com
NEWUSER2@domain.com
可以看出,除了 @
符号之前的数字之外,这些电子邮件中的所有内容都是相同的。在本例中,我想选择具有该数字的最后一个最大的电子邮件地址 NEWUSER3@domain.com
,因为 3
是这些电子邮件中最大的数字。
我对正则表达式不太了解,但我尝试过:
SELECT id, email FROM tableName WHERE email regexp 'NEWUSER(\d+)@domain.com'
ORDER BY email DESC LIMIT 1
但它显然不起作用正则表达式不正确:(任何人都可以帮助如何从这些行中选择电子邮件数量最多的行吗?
最佳答案
SELECT * FROM tableName where email like 'NEWUSER%' ORDER BY CAST(SUBSTR(email FROM 8) AS UNSIGNED) desc limit 1
关于mySQL正则表达式选择字符串和增量数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18785270/