mysql - 如何选择偏斜行

时间:2014-05-29 09:28:14

标签: php mysql sql

我有一张桌子:

ID  - TIME - STATUS

几个STATUS行有' 0'值。我想从' 0'行中选择所有行ID - 2的行STATUS列中的值,我该怎么做?

示例:

ID - TIME - STATUS
1 - 00 - null
2 - 03 - null
3 - 02 - 0
4 - 05 - null

从这个例子中我应该选择带有ID' 1'的行,因为我有' 0' ID为' 3'

的行中的值

2 个答案:

答案 0 :(得分:2)

我使用foreach循环执行此操作,然后根据需要修改密钥:

$data = array(); // Pre loaded data from table.
$ids = array(); // Array of IDs - 2 with status 0.

foreach($data as $key => $row) {
    if($row['STATUS'] == 0 && isset($data[$key - 2])) {
        $ids[] = $data[$key - 2]['ID'];
    }
}

答案 1 :(得分:2)

您可以使用不同于2的ID进行自联接

select * from t
join t t1 on(t.id = t1.id - 2)
where t1.`STATUS` = '0'

Demo