Mysql 获取最后更新的行

Mysql 获取最后更新的行,mysql,sql,greatest-n-per-group,Mysql,Sql,Greatest N Per Group,我正在使用mysql-10.1.39-MariaDB-MariaDB.org二进制发行版和phpmyadmin来管理我的数据库: 我有下表: | ID | NAME | AMOUNT | CREATED_AT | UPDATED_AT | |-----|------------|--------|---------------------|---------------------| | 1 | Product 1 | 4 | 2

我正在使用mysql-
10.1.39-MariaDB-MariaDB.org二进制发行版和phpmyadmin来管理我的数据库:

我有下表:

| ID  | NAME       | AMOUNT | CREATED_AT          | UPDATED_AT          |
|-----|------------|--------|---------------------|---------------------|
| 1   | Product 1  | 4      | 2019-08-30 19:03:16 | 2019-08-30 19:03:16 |
| 5   | Product 1  | 3      | 2019-08-29 20:03:16 | 2019-08-29 20:03:16 |
| 2   | Product 2  | 4      | 2019-08-30 19:03:16 | 2019-08-30 19:03:16 |
| 3   | Product 33 | 3      | 2019-08-30 19:03:16 | 2019-08-30 19:03:16 |
| 4   | Product 4  | 2      | 2019-08-30 19:03:16 | 2019-08-30 19:03:16 |
| ... | ...        | ...    | ...                 | ...                 |
我希望最后更新的所有行

我尝试了以下方法:

SELECT
    `name`, `updatedAt`
FROM
    issuers
ORDER BY
    updatedAt
但是,我仍然获得结果数据中的所有行

有什么建议我做错了什么

谢谢你的回复

参考:

使用一个子查询查找max
updatedAt
并比较它将显示所有行

SELECT name, updatedAt
FROM   issuers
WHERE  updatedAt = (SELECT MAX(updatedAt) FROM issuers);
或者使用
左连接

SELECT s1.name, s1.updatedAt
FROM issuers s1
LEFT JOIN issuers s2 ON s1.updatedAt < s2.updatedAt
WHERE s2.updatedAt IS NULL;
选择s1.name,s1.updatedAt
来自发行人s1
s1.updatedAt
我已添加到问题中。你可以找到更多关于你问题的答案