查询来获取两个连续零排在一列
我有一个数据集:查询来获取两个连续零排在一列
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