Php 不同的IF-MYSQL

Php 不同的IF-MYSQL,php,mysql,Php,Mysql,我想用一定的条件来区分项目。例如,我的表格如下所示: no| Device_id|total 090317016|167|147840 090317016|167|147840 090317014|167|155925 090317014|167|155925 090317013|167|188265 090317013|167|188265 090317010|167|170940 090317010|167|170940 NULL |1672|3000 NULL |1672|

我想用一定的条件来区分项目。例如,我的表格如下所示:

no| Device_id|total
090317016|167|147840
090317016|167|147840
090317014|167|155925
090317014|167|155925
090317013|167|188265
090317013|167|188265
090317010|167|170940
090317010|167|170940
NULL     |1672|3000
NULL     |1672|9000
NULL     |1672|12000
NULL     |1672|3000
no| Device_id|total
090317016|167|147840
090317014|167|155925
090317013|167|188265
090317010|167|170940
NULL     |1672|3000
NULL     |1672|9000
NULL     |1672|12000
NULL     |1672|3000 
我只想区分“如果没有空值”和“没有空值”在表中保持如下显示:

no| Device_id|total
090317016|167|147840
090317016|167|147840
090317014|167|155925
090317014|167|155925
090317013|167|188265
090317013|167|188265
090317010|167|170940
090317010|167|170940
NULL     |1672|3000
NULL     |1672|9000
NULL     |1672|12000
NULL     |1672|3000
no| Device_id|total
090317016|167|147840
090317014|167|155925
090317013|167|188265
090317010|167|170940
NULL     |1672|3000
NULL     |1672|9000
NULL     |1672|12000
NULL     |1672|3000 
更新问题: 如果我从DeviceId为“167”的事务中选择*它将出现:

无|设备| id |总计
090317016|167|147840
090317016|167|147840
090317014|167|155925
090317014|167|155925
090317013|167|188265
090317013|167|188265
090317010|167|170940
090317010|167|170940
我希望他们像这样使用不同的:

无|设备| id |总计
090317016|167|147840
090317014|167|155925
090317013|167|188265
090317010|167|170940
但是如果子句no为null,我可以使用distinct combine吗? 然后,当我选择deviceId=1672时,将显示如下:

no| Device_id|total
090317016|167|147840
090317016|167|147840
090317014|167|155925
090317014|167|155925
090317013|167|188265
090317013|167|188265
090317010|167|170940
090317010|167|170940
NULL     |1672|3000
NULL     |1672|9000
NULL     |1672|12000
NULL     |1672|3000
no| Device_id|total
090317016|167|147840
090317014|167|155925
090317013|167|188265
090317010|167|170940
NULL     |1672|3000
NULL     |1672|9000
NULL     |1672|12000
NULL     |1672|3000 

无|设备| id |总计
空| 1672 | 3000
空| 1672 | 9000
空| 1672 | 12000
空| 1672 | 3000

因此,当显示deviceId 1672时,没有distinct,但如果我使用distinct显示deviceId 167,可能会尝试以下方法:

SELECT * FROM (
    SELECT DISTINCT `no`, `Device_id`, `total` FROM `my_table` WHERE `no` IS NOT NULL

    UNION ALL

    SELECT `no`, `Device_id`, `total` FROM `my_table` WHERE `no` IS NULL
) t

工会应该做到这一点:

选择
不同的
不
设备id,
全部的
哪里
no不为null,并且
设备标识=?
联合所有
挑选
不
设备id,
全部的
哪里
no是空的,并且
设备标识=?

只需在where子句上添加相同的条件,或使用Trx的解决方案,并添加`where device_id=value`谢谢@cherif Odoo,你是我的救世主:D。但这不会解决问题。我使用no is not null/is null。我更改否=“”/否“”