C# 如何在SQL中查找连续数据
我在SQL表中有以下数据:C# 如何在SQL中查找连续数据,c#,sql-server-2012,C#,Sql Server 2012,我在SQL表中有以下数据: 我想按编号和ID为的组查找3个连续数据。结果为 4 A1 4 5 A1 3 6 A1 1 7 A1 0 1 A2 2 2 A2 4 3 A2 5 4 A2 1 3 A3 2 4 A3 3 5 A3 4 6 A3 2 如何编写查询。请提供帮助。以下是仅选择实际为3个连续行的行的查询: SELECT a.* FROM TABLE as a inner join TABLE as b on (
我想按编号和ID为的组查找3个连续数据。结果为
4 A1 4
5 A1 3
6 A1 1
7 A1 0
1 A2 2
2 A2 4
3 A2 5
4 A2 1
3 A3 2
4 A3 3
5 A3 4
6 A3 2
如何编写查询。请提供帮助。以下是仅选择实际为3个连续行的行的查询:
SELECT a.*
FROM
TABLE as a
inner join
TABLE as b on (a.no+1=b.no and a.id=b.id)
inner join
TABLE as c on (a.no+2=c.no and a.id=c.id)
order by a.id, a.no
对于您的数据,它将提供:
4 a1 4
5 a1 3
1 a2 2
2 a2 4
3 a3 2
4 a3 3
行(6,a1,1)、(3,a2,5)和(5,a3,4)未被选择,因为没有(8,a1)(5,a2)和(7,a3)
结果是
4 A1 4
5 A1 3
6 A1 1
7 A1 0
1 A2 2
2 A2 4
3 A2 5
4 A2 1
3 A3 2
4 A3 3
5 A3 4
6 A3 2
我从这个链接找到了这个查询。
您是仅限于使用SQL还是从其他语言进行查询?为什么选择行(6,a1,1)、(3,a2,5)和(5,a3,4)?它们没有连续的第2行和第3行SSO,对于任何特定的
ID
值,您希望选择具有最低No
值且在No
中连续的3行(因此,Qty
在我们选择的行中不起作用)?大多数人更喜欢SQL,但也使用C。@Damien_不信者Qty
字段只检查示例:我想Qty>=0和qtyTank帮助,但此查询不确定我的问题。唯一的问题。。。它给出的结果与您期望的结果不同