我需要使用mySQL获取围绕ID的ID。
例子:
表格中的ID:
2, 4, 5, 9, 11, 15, 19, 22, 25
例如,我需要知道ID 9周围的5个ID。查询应返回:
4, 5, 9, 11, 15
谢谢!
一个可能的解决方案是
SQL语句
SELECT ABS(ID - 9), *
FROM MyTable
ORDER BY
ABS(ID - 9)
LIMIT 5
编辑 (向ypercube表示感谢,以指出此解决方案中可能存在的缺陷)
如果要从左侧获取2个id,从右侧获取2个id,则可以按以下方式调整该语句
SELECT * FROM MyTable WHERE ID <= 9 ORDER BY ID DESC LIMIT 3
UNION ALL
SELECT * FROM MyTable WHERE ID > 9 ORDER BY ID ASC LIMIT 2
桌面视频 我想选择从给定时间间隔6个月的行。新的还是旧的 因此,如果查询时间为例如1446076800,则将选择比该时间早6个月或新6个月的所有行。 采用UNIX TIMESTAMP格式。 因此,如果一个视频是在2015年10月上传的,所有在2015年4月上传的视频和更新的视频都将被选中。从2015年10月到2016年4月的所有视频也将被选中。
问题内容: 是否可以为查询的IN部分定义一个范围,像这样 代替 问题答案: 您不能,但可以使用 请注意,这是包含性内容,并且将包含ID为10和15的项。 如果不想包含,则必须退回到使用and 运算符。
问题内容: 我必须检查特定时间是否介于两次(打开和关闭时间)之间。 打开和关闭时间在数据库中保存为与工作日ID(而不是日期)相关的“开始”和“结束”。 所以我的问题是,我有两种不同的情况,第一种情况是结束时间大于开始时间,例如end = 19:00:00和start = 09:00:00 但也可以是结束= 06:00:00和开始= 20:00:00 那么检查时间是否介于两次之间的性能方法是什么?
问题内容: 这类似于问题如何在Java Swing中构建Google- chrome标签和菜单栏界面?(我想实现相同的目的),但更重要的是:如何在JTabbedPane中的选项卡的前面和后面放置组件? 我已经自己想到了按钮的想法,但是我宁愿有一个JTabbedPane,因为它确实是它的意思,但是在侧面装饰有按钮或图标。 我已经看到,基里尔(Kirill)的laf-widget项目对多个LaF都执行
问题内容: 我正在尝试在2列之间选择一个值。这是我的数据集 我的目标是(如果我的值为2)是选择 ID为1 (在from和to之间)的行。所以这是我正在使用的查询: 这是MySQL执行此查询时返回的结果: 我正在寻找的结果如下: 我尝试使用<和>等。但是,我总是得到两个结果。任何帮助将非常感激。 问题答案: 所以,您不希望下限具有包容性,对吗?
问题内容: 如何从mysql表中选择过去日期到当前日期的数据?例如,选择从2009年1月1日到当前日期? 我的“ datetime”列为datetime日期类型。请帮忙,谢谢 编辑: 如果说我想从2009年1月1日开始获得每天的数据,该如何编写查询?使用计数和函数之间? 问题答案: 或使用和: