выберите последнюю строку в mysql, но основной является varchar - PullRequest
0 голосов
/ 12 марта 2020

У меня есть таблица mysql, подобная этой (pid varchar):

| pid | name |
| p1  | a    |
| p10 | b    |
| p11 | c    |
| p2  | d    |
| p3  | e    |

Я хочу выбрать последнюю вставленную строку (p11), но выбранную - p3, а я хочу выбрать p11. Я пытался использовать этот запрос:

SELECT MAX(pid) as LASTID FROM product

Как я могу написать запрос для возврата p11?

1 Ответ

1 голос
/ 12 марта 2020

Удалите p и преобразуйте его в число перед вычислением максимального значения.

SELECT CONCAT('p', MAX(REPLACE(pid, 'p', '') + 0)) AS lastid
FROM product
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...