查询来获取两个连续零排在一列

我有一个数据集:查询来获取两个连续零排在一列

sid name  sub  marks subid 

11 kittu eng 55 1

11 kittu math 0 2

11 kittu sci 0 3

12 bunnu eng 0 1

12 bannu math 44 2

12 bannu sci 0 3

13 siva eng 0 1

13 siva math 0 2

13 siva sci 88 3

,我想这样的输出(有连续的零标记):

11 kittu 

13 siva

回答:

从T WHERE中选择一行,存在另一行,它们具有相同的sid和较低的subid,并且两行都有零标记。 然后做一个DISTINCT,以防万一有更多的限定条件,所以你不会得到重复。

SELECT DISTINCT sid,name 

FROM t

WHERE EXISTS (SELECT 1 FROM T T2

WHERE T2.marks = 0

AND t.marks = 0

AND T2.sid = T.sid

AND T2.subid = t.subid + 1)

sqlfiddle

以上是 查询来获取两个连续零排在一列 的全部内容, 来源链接: utcz.com/qa/257747.html

回到顶部