2012-08-12 73 views
3

如何才能在Sqlite中获得Nemayeh.Nemayeh字段的第10条记录?如何在sqlite中获得10条连接表的第一条记录?

SELECT 
    Keyword, 
    Nemayeh.Nemayeh 

FROM 
    (SELECT 
    Keyword.Id, 
    Keyword.Keyword 
    FROM Keyword 
    ORDER BY Keyword.Keyword ASC 
    LIMIT 10 OFFSET 0 
) AS tmp 

INNER JOIN KeyWord_Nemayeh 
     ON KeyWord_Nemayeh.Id_Keyword = tmp.Id 

INNER JOIN Nemayeh 
     ON Nemayeh.Id = KeyWord_Nemayeh.Id_Nemayeh 

ORDER BY 1,2 

例如:

Key1 Nem1_1 
Key1 Nem1_2 
Key1 Nem1_3 
. 
. 
. 
Key1 Nem1_10 
Key2 Nem2_1 
Key2 Nem2_2 
. 
. 
. 
Key2 Nem2_10 
+0

所以你想要一个结果表,它至少有10个,但不超过10 ** **不同** Nemayeh.Nemayeh值? (追加'LIMIT 10'到你的查询将太简单了:) – biziclop 2012-08-12 12:35:58

回答

2

这差不多就是biziclop说,但应该工作。

SELECT 
    Keyword, 
    Nemayeh.Nemayeh 
FROM 
    (SELECT Keyword.Id,Keyword.Keyword 
    FROM Keyword 
    ORDER BY Keyword.Keyword ASC 
    LIMIT 10 OFFSET 0) AS tmp 

INNER JOIN KeyWord_Nemayeh ON KeyWord_Nemayeh.Id_Keyword = tmp.Id 

INNER JOIN Nemayeh ON Nemayeh.Id = KeyWord_Nemayeh.Id_Nemayeh 

ORDER BY 1,2 LIMIT 0, 10 
+0

我得到10'关键字',那么我想得到10'Nemayeh'为每个“关键字”。请参阅我的编辑帖子。 – 2012-08-13 06:51:29

+0

好吧,我明白了......我试图查找,如果你可以在SQLite中创建函数,但我没有找到关于此的任何信息。否则,我认为你想在sqlite中很难实现。 – 2012-08-13 11:19:08

1

尝试:

SELECT TOP 10 Keyword,... FROM... 
+0

这是错误的,我不能在sqlite中使用top! – 2012-08-12 12:06:16

+0

行,对不起:) http://stackoverflow.com/questions/2728999/how-to-get-top-5-records-in-sqlite – Auris 2012-08-12 15:58:54

相关问题