gpt4 book ai didi

SQL 查询获取顶行直到 ColName = 1

转载 作者:行者123 更新时间:2023-12-04 15:58:22 24 4
gpt4 key购买 nike

我在我的数据库中存储了一个消息列表(这样如果我崩溃了我就不会丢失它们)。

但是当我把它们拉出来的时候,我需要把它们一 block 一 block 地按顺序拉出来。

我正在寻找的是一个查询,它将为我提供前 x 行,直到列 IsWeirdMessage = 1。

所以,假设我有一个如下所示的表:

CREATE TABLE MyMessages(MessageId bigint IDENTITY(1,1),
MyMessage varchar(100), IsWeirdMessage bit)

INSERT INTO MyMessages(MyMessage, IsWeirdMessage)
SELECT 'SomeValue1', 0 UNION ALL
SELECT 'SomeValue2', 0 UNION ALL
SELECT 'SomeValue3', 0 UNION ALL
SELECT 'SomeValue3', 0 UNION ALL
SELECT 'SomeValue4', 0 UNION ALL
SELECT 'SomeValue5', 0 UNION ALL
SELECT 'WeirdThingHere', 1 UNION ALL
SELECT 'SomeValue7', 0 UNION ALL
SELECT 'SomeValue8', 0 UNION ALL
SELECT 'SomeValue9', 0 UNION ALL
SELECT 'OtherWeirdStuff', 1 UNION ALL
SELECT 'SomeValue11', 0
GO

我如何设计一个查询,使 SomeValue1SomeValue5(按顺序),关闭 IsWeirdMessage

最佳答案

应该这样做:

select * from MyMessages
where messageid > @MessageID
and messageid <=
(select min(messageid) from MyMessages
where IsWeirdMessage = 1 and messageid > @MessageID)
order by messageid

@MessageID 是您检索到的最后一条奇怪消息的值。您将从 0 开始获取第一批,然后从 7 获取第二批,依此类推。

演示:http://www.sqlfiddle.com/#!3/10336/9

关于SQL 查询获取顶行直到 ColName = 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9928879/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com