0

こんにちは、たとえば以下の形式でメールアドレスを保存しています。

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

しかし、明らかに正規表現が正しくありませんでした:(これらの中から最大数の電子メールを含む行を選択する方法について誰か助けてもらえますか?

4

1 に答える 1

1
 SELECT * FROM tableName where email like 'NEWUSER%' ORDER BY CAST(SUBSTR(email FROM 8) AS UNSIGNED) desc limit 1
于 2013-09-13T11:45:11.893 に答える