mysql - SELECT 跳过第一行和最后一行并在中间选择

标签 mysql sql

我试图跳过 SQL 查询中的第一行和最后一行(即在本例中跳过 where sequence=0sequence=4),但是我的SQL 查询似乎不起作用。知道为什么吗?逻辑似乎是正确的:

SELECT * FROM waypoint 
WHERE id NOT IN(
        (SELECT MIN(ID) FROM waypoint), 
        (SELECT MAX(ID) FROM waypoint)
      )
AND booking_id="1";

MY SQL FIDDLE IS HERE

最佳答案

您有 7 行。他们的 id 是从 1 到 7。您的 not in 子句会过滤掉 1 和 7。如果您想使用 booking_id=1 跳过第一个和最后一个,您应该将此子句添加到子选择:

SELECT * FROM waypoint 
WHERE id NOT IN(
        (SELECT MIN(ID) FROM waypoint where booking_id="1"), 
        (SELECT MAX(ID) FROM waypoint where booking_id="1")
      )
AND booking_id="1";

关于mysql - SELECT 跳过第一行和最后一行并在中间选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28472457/

相关文章:

php - 带有 --local-infile 参数的 mysql_connect

php - 在foreach循环中为数组中的相同键标识一个不同/新值

尝试在 JpaRepository 中使用 @Query 时出现 java.lang.IllegalArgumentException :Modifying queries can only use void or int/Integer as return type!

MySql:按项目数然后按内容排序列表

mysql - 即使 NOT NULL 也为 Null

mysql - 具有按日期分组的回溯窗口的 SQL 非重复计数

html - 获取网站名称包含python 27中的HTML代码

php - 自动生成 token 在 php 中无法正常运行

mysql - 使用 mySql 的简单 React 无法读取表记录

sql - 如何从表 A 中引用表 B 行两次?