作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 SQL 的新手,所以这可能相当简单,但我正在尝试用 SQL 编写一个脚本,它允许我获取一组数据,但我不想要第一个或最后一个结果询问。我可以找到很多关于如何删除第一个结果以及如何删除最后一个结果但不能同时删除两者的信息。
到目前为止,这是我的查询:
SELECT * FROM itinerary Where ID = 'A1234' ORDER BY DateTime ASC
我想根据日期时间删除该选择的第一条和最后一条记录。
最佳答案
这可能不是执行此操作的最高效方法,但您没有提供任何架构信息,而且您的 ID 列看起来不是唯一的。如果您有一个主键可以使用,那就更容易了。
SELECT * FROM itinerary
WHERE ID = 'A1234'
AND DateTime <
(SELECT MAX(DateTime) FROM itinerary WHERE ID = 'A1234')
AND DateTime >
(SELECT MIN(DateTime) FROM itinerary WHERE ID = 'A1234')
ORDER BY DateTime ASC
这基本上会选择 ID 为 A1234 且日期时间不等于最大或最小日期时间的每条记录。请注意,如果您有多个记录具有相同的 DateTime 值,并且恰好也是最小值或最大值,则您可能排除的不仅仅是第一个或最后一个。
不过这可能已经足够好了。如果没有,您可能需要编写一个存储过程,而不仅仅是直接的 ANSI SQL。
关于mysql - 从sql查询中排除第一个和最后一个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33263573/
我是一名优秀的程序员,十分优秀!