代码之家  ›  专栏  ›  技术社区  ›  richleland

如何在具有特定ID的记录前后获取5条记录?

sql
  •  4
  • richleland  · 技术社区  · 16 年前

    我有一张叫的桌子 scores 用柱子 id score . 我想通过它访问一个特定的记录 身份证件 以及前后5条记录。在SQL中有没有一种方法可以说“获取ID为的分数” n x 它之前和之后的项目?”

    1 回复  |  直到 16 年前
        1
  •  4
  •   Justin Ethier    16 年前

    尝试:

      SELECT * 
        FROM scores 
       WHERE score >= n
    ORDER BY score ASC
       LIMIT 6
    
     UNION
    
      SELECT * 
        FROM scores 
       WHERE score < n
    ORDER BY score DESC
       LIMIT 5
    

    根据所使用的数据库服务器,语法可能会有所不同。