如何在sqlite中获取联接表的前10条记录?

3

如何在Sqlite中获取Nemayeh.Nemayeh字段的前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

所以你想要一个结果表,其中至少有10个但不超过10个不同的 Nemayeh.Nemayeh 值?(将 LIMIT 10 添加到查询中太简单了 :)) - biziclop
2个回答

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 

我得到了10个“Keyword”,然后我想为每个“Keyword”获取10个“Nemayeh”。请查看我的编辑帖子。 - Ali Ahmadi
好的,我明白了... 我已经尝试查找是否可以在SQLite中创建函数,但是我没有找到任何关于此的信息。否则,我认为你想要实现的在SQLite中很难实现。 - Pablo Jomer

1

尝试:

SELECT TOP 10 Keyword,... FROM...

如何在SQLite中获取前5条记录 - Auris

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接