Mysql 基于另一列选择非重复非重复列
所以我有这张表,我想得到最新的分析结果 那么,在没有重复的repo\u id的情况下,如何从analysis\u id获取最大的数字呢 您正在寻找分组方式Mysql 基于另一列选择非重复非重复列,mysql,sql,Mysql,Sql,所以我有这张表,我想得到最新的分析结果 那么,在没有重复的repo\u id的情况下,如何从analysis\u id获取最大的数字呢 您正在寻找分组方式 一个通用的MySQL 8+友好解决方案使用行号: 以cte为例 选择*,按存储id排序按分析id描述的分区上的行数 从你的桌子上 选择id、回购id、分析id 来自cte 其中rn=1; 在MySQL 5+中,您可以使用 SELECT * FROM tablename t1 WHERE NOT EXISTS ( SELECT NULL
一个通用的MySQL 8+友好解决方案使用行号: 以cte为例 选择*,按存储id排序按分析id描述的分区上的行数 从你的桌子上 选择id、回购id、分析id 来自cte 其中rn=1;
在MySQL 5+中,您可以使用
SELECT *
FROM tablename t1
WHERE NOT EXISTS ( SELECT NULL
FROM tablename t2
WHERE t1.repo_id = t2.repo_id
AND t1.id < t2.id )
+----+---------+-------------+
| id | repo_id | analysis_id |
+----+---------+-------------+
| 3 | 20 | 5 |
+----+---------+-------------+
| 4 | 21 | 6 |
+----+---------+-------------+
| 5 | 22 | 7 |
+----+---------+-------------+
SELECT MAX(id) ,repo_id ,MAX(analysis_id)
FROM YOUR_TABLE
GROUP BY repo_id
SELECT *
FROM tablename t1
WHERE NOT EXISTS ( SELECT NULL
FROM tablename t2
WHERE t1.repo_id = t2.repo_id
AND t1.id < t2.id )