我有以下三个简单的T-SQL查询。第一个是获取一定范围内的记录(DATETIME类型):
SELECT value, timestamp
FROM myTable
WHERE timestamp BETWEEN @startDT AND @endDT
第二个是获取最接近@startDT的记录(DATETIME类型)
SELECT TOP 1
value, timestamp
FROM myTable
WHERE timestamp > @startDT
ORDER BY timestamp DESC
最后一个是获取@endDT之后最接近的记录:
SELECT TOP 1
value, timestamp
FROM myTable
WHERE timestamp < @endDT
ORDER BY timestamp ASC
我想将以上三个查询的所有记录作为一组记录。我尝试使用UNION,但似乎UNION中的子查询不允许使用ORDER BY子句。有没有有效的方法来得到我的结果?
. . * | * * * * * | * . . .
start end
上图仅将* s的记录显示为我的必需记录,而| … | 是边界。
顺便说一句,myTable中的数据量很大。我的理解UNION不是从UNION获取数据的有效方法。有没有UNION的有效数据获取方法吗?
如您所愿,没有UNION。
MySQL(已 测试 )
SELECT
dv1.timestamp, dv1.values
FROM
myTable AS dv1
WHERE
dv1.timestamp
BETWEEN (
SELECT dv2.timestamp
FROM myTable AS dv2
WHERE dv2.timestamp < '@START_DATE'
ORDER BY dv2.timestamp DESC
LIMIT 1
)
AND ( SELECT dv3.timestamp
FROM myTable AS dv3
WHERE dv3.timestamp > '@END_DATE'
ORDER BY dv3.timestamp ASC
LIMIT 1
)
编辑 抱歉,我忘了注意到T-SQL。
T-SQL(未 测试 )
SELECT
dv1.timestamp, dv1.values
FROM
myTable AS dv1
WHERE
dv1.timestamp
BETWEEN (
SELECT TOP 1 dv2.timestamp
FROM myTable AS dv2
WHERE dv2.timestamp > @START_DATE
ORDER BY dv2.timestamp DESC
)
AND ( SELECT TOP 1 dv3.timestamp
FROM myTable AS dv3
WHERE dv3.timestamp < @END_DATE
ORDER BY dv3.timestamp ASC
)
注意 如果结果不正确,则可以只交换子查询(即运算符和ASC / DESC)。
跳出思维限制 :)
我刚刚开始使用角度2。所以我尝试使用Web服务从数据库显示类别。 这是我的论坛.服务.ts文件 forum.component.ts: forum.component.html: 请帮忙,先谢了
给定两个数a和b(1<=a<=b<=10^6)。在a和b之间的所有素数中找出最常见的数字。如果频率相同,则打印最高数字。 例:从1到20,素数是-2,3,5,7,11,13,17,19。这里2,5,9只出现一次,3,7出现两次,1出现5次。所以结果是1。 一个基本方法是: 在[a,b]范围内-求所有素数。 取一个数组计算0到9之间的出现次数。 对于范围内的所有素数,提取所有数字,并相应地增加计数数
我一直在寻找这个问题的答案,但运气不佳,所以希望有人能帮助我! 我正在处理周期性数据,我试图找到两个波峰和两个波谷的相关值——这不一定等同于最大/最小和第二个最大/最小值,而是最大/最小和第二个最大/最小值,条件是该值大于/小于前面和后面的值。 这是一个循环的例子 我有 1000 个周期,所以我在 dplyr 中使用group_by对周期进行分组,然后希望在组中应用条件最大值/最小值参数。 我很感
我使用https://formidable.com/open-source/urql/用于从React Native中的GraphQL服务器获取数据。 该组件的实现方式如下: 运行应用程序时,查询按预期工作,我从GraphQL服务器接收数据。 但是,控制台会显示错误消息: 未处理的promise拒绝,[RangeError:超出最大调用堆栈大小。]在node_modules/core-js/内部/
如果我运行此代码,我会收到错误RangeError:超出最大调用堆栈大小。但为什么呢?当我用9调用它时就发生了,斐波那契在这么小的数字下应该不是问题。
我试图创建一个简单的查询,以从索引日志存储中的文档返回匹配的deploymentId。 我能够搜索匹配查询,但当添加时间范围得到以下豁免。 错误: “type”:“parsing\u exception”, “reason”:“[匹配]格式错误的查询,应为[END\u OBJECT],但找到了[FIELD\u NAME]”, 我只想要匹配部署ID的最后15分钟记录。