获取SQL的最新结果

时间:2015-12-03 19:15:34

标签: mysql

我有以下表结构:

id    customer_id    version_num
1         1              1
2         1              2
3         2              1
4         2              2
5         3              1
6         3              2
7         3              3

我希望结果显示为:

id    customer_id    version_num
2         1              2
4         2              2
7         3              3

我能够得到以下结果:

id    customer_id    version_num
1         1              1
3         2              1
5         3              1

我使用的查询:

select * from TABLE group by customer_id

我不知道如何在我的查询中使用最新版本(version_num)。

1 个答案:

答案 0 :(得分:1)

SELECT Y.id, Y.customer_id, Y.version_num
FROM YourTable Y
JOIN (SELECT customer_id, MAX(version_num) max_v
      FROM YourTable
      GROUP  customer_id
     ) T
  ON Y.customer_id = T.customer_id
 AND Y.version_num = T.max_v;