仅当第二行具有特定条件时,我才需要选择 row_number 视图的第一行。
现在,我如何检查行的条件?
我可能会得到这样的看法:
row_num value
1 1
2 1
但是,我只需要第一行,如果它看起来像这样:
row_num value
1 1
2 2
所以,我想我需要的是这样的:
“当第二行的值为2时选择第一行”
怎么做?
仅当第二行具有特定条件时,我才需要选择 row_number 视图的第一行。
现在,我如何检查行的条件?
我可能会得到这样的看法:
row_num value
1 1
2 1
但是,我只需要第一行,如果它看起来像这样:
row_num value
1 1
2 2
所以,我想我需要的是这样的:
“当第二行的值为2时选择第一行”
怎么做?
你的问题有点不清楚,但是这个怎么样:
SELECT
*
FROM
yourView v1
LEFT JOIN yourView v2 ON v1.row_num = v2.row_num -1
WHERE
MOD(v1.row_num, 2) != 0
AND v2.value = 2
有了MOD(v1.row_num, 2) != 0
你,你只会得到 row_num 奇数的行,因为我理解你的问题是这样的:
table
-----
type | row_num | value
a 1 x
b 2 y
a 3 z
b 4 xx
您只需要 a 类型的行,并且仅当相应 b 行的值为 2 时。
这是正确的吗?