我想检索一个过程的最后一个版本:
| id | name | version | souce_id | | 1 | test1 | 1.00 | 0 | | 2 | test1 | 1.01 | 1 | | 3 | test1 | 1.02 | 1 | | 4 | test1 | 1.03 | 1 | | 5 | test2 | 1.00 | 0 | | 6 | test2 | 1.01 | 4 | | 7 | test2 | 1.02 | 4 | | 8 | test3 | 1.00 | 0 |
,预期结果为:
| id | name | version | souce_id | | 3 | test1 | 1.02 | 1 | | 4 | test1 | 1.03 | 1 | | 6 | test2 | 1.01 | 4 | | 7 | test2 | 1.02 | 4 | | 8 | test3 | 1.00 | 0 |
我已经写了这个查询,但我不喜欢它......我不能将它作为WHERE
中的子查询包含在内。
id
IN (...)id
答案 0 :(得分:0)
E.g。
SELECT x.*
FROM my_table x
JOIN my_table y
ON y.name = x.name
AND y.id <= x.id
GROUP
BY x.id
HAVING COUNT(*) <=2;
答案 1 :(得分:-1)
谢谢草莓! 只有一个小的修正,我有我的要求(你的是第2版):
select *
from table1
where contains(name , '"bob" AND "marly"')