【问题标题】:How can I get 10 first records of join tables in sqlite?如何在sqlite中获得10条连接表的第一条记录?
【发布时间】:2012-08-08 22:55:47
【问题描述】:

如何在 Sqlite 中仅获得 10 条 Nemayeh.Nemayeh 字段的第一条记录?

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 个 distinct Nemayeh.Nemayeh 值的结果表? (将LIMIT 10 附加到您的查询中太简单了:)

标签: sqlite


【解决方案1】:

这几乎是 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 个“关键字”,然后我想为每个“关键字”获得 10 个“Nemayeh”。请参阅我的编辑帖子。
  • 好的,我明白了...我尝试查找是否可以在 SQLite 中创建函数,但我没有找到任何相关信息。否则我认为您想要实现的目标在 sqlite 中很难实现。
【解决方案2】:

试试:

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2019-12-28
  • 2014-11-08
  • 2022-01-14
  • 2021-09-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多