首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将所有行与第一行和最后一行分开

将所有行与第一行和最后一行分开
EN

Stack Overflow用户
提问于 2015-02-11 14:04:06
回答 2查看 39关注 0票数 2

什么MySQL查询将为我提供booking_id=1的所有行,但省略第一行和最后一行?

这可以通过查看sequence列来确定,0始终是第一行,但最后一行不同--在本例中是4,但可以是2、3、6等等.

我已经在SQLFiddle中构建了一个示例模式

代码:

代码语言:javascript
复制
CREATE TABLE waypoint 
    (
     id int auto_increment primary key, 
     booking_id varchar(11), 
     sequence varchar(11),
     address varchar(300)
    );
INSERT INTO waypoint
(booking_id, sequence, address)
VALUES
('1', '0', 'MK9 1AN,Santander,Santander Uk Plc,Santander House,201,Grafton Gate East'),
('1', '1', 'MK13 0DD,4,Glyn Street,New Bradwell,Milton Keynes,'),
('1', '2', 'MK6 2DU,65,Towan Avenue,Fishermead,Milton Keynes,'),
('1', '3', 'MK1 1LG,10a,Clarke Road,Bletchley,Milton Keynes,'),
('1', '4', 'MK11 1BJ,3,York Road,Stony Stratford,Milton Keynes');
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-12 08:48:10

这是返回所需结果的查询:

代码语言:javascript
复制
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";

此查询从使用ID的路径点计算mimimum和最大booking_id="1"。然后,这些id被排除在结果集之外(NOT IN子句)

票数 1
EN

Stack Overflow用户

发布于 2015-02-11 14:08:38

使用最小函数和最大函数。FIDDLER演示

代码语言:javascript
复制
SELECT * FROM waypoint 
WHERE ID NOT IN(
        (SELECT MIN(ID) FROM waypoint), 
        (SELECT MAX(ID) FROM waypoint)
      )
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28456334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档