如何只选择内连接的最后一行?

时间:2017-12-11 09:28:33

标签: sqlite

我知道这个问题被多次询问过,但我还没有完全理解这个问题,需要一些帮助。 我有以下Sqlite数据库:

Liste
id | Name
------------
1  | Paul
2  | Logan

Theory
id | RefID | file
-----------------
1  | 1     | file1
2  | 1     | file2
3  | 2     | file7
4  | 2     | file3
5  | 1     | file4

    SELECT l.id, l.Name, t.file 
    FROM Liste l 
    INNER JOIN Theory t on l.id = t.RefID 
    GROUP BY l.id;

Results:
1 | Paul  | file1
2 | Logan | file7

expected result:
1 | Paul  | file4
2 | Logan | file3

任何人都可以给我一个如何获得的暗示 最后添加的行?

关心Sascha

编辑: 好吧,我不知道为什么,但嵌套的内连接以某种方式工作。


    SELECT l.id, l.Name, t.file 
    FROM Liste l 
    INNER JOIN 
    (SELECT * FROM Theory ORDER BY Theory.id asc) 
    t on l.id = t.RefID 
    GROUP BY l.id;

1 个答案:

答案 0 :(得分:0)

要选择组中id值最大的行,请使用max()

SELECT max(l.id), l.Name, t.file
FROM Liste l
JOIN Theory t ON l.id = t.RefID
GROUP BY l.id;