哪里出了问题SQL

SELECT COUNT(*) FROM mt_20181022 WHERE report_status <> 'DELIVRD'

当使用以上语句查询的时候,结果是74,它统计出来的结果中不包含report_status是NULL这种情况

SELECT COUNT(*) FROM mt_20181022 WHERE report_status IS NULL

以上语句插叙的是report_status字段为NULL的统计结果。总计3077

SELECT COUNT(*) FROM mt_20181022 WHERE report_status <> 'DELIVRD' OR report_status IS NULL

以上语句查询的是report_status字段不等于 DELIVRD 的,统计结果会将改字段为NULL的值也统计出来。结果为3151

SELECT COUNT(1) FROM mt_20181022 WHERE orgin_status <> 'DELIVRD'

以上语句会将orgin_status不为DELIVRD的查询出来。包括该字段为空串的也会查询出来。结果为3180

SELECT COUNT(1) FROM mt_20181022 WHERE orgin_status <> 'DELIVRD' AND orgin_status !=''

以上语句会将orgin_status不为DELIVRD,并且不为空串的查询出来。结果为103

SELECT COUNT(1) FROM mt_20181022 WHERE orgin_status <> 'DELIVRD' AND orgin_status ='' SELECT COUNT(1) FROM mt_20181022 WHERE orgin_status = ''

 以上查询的是该字段为空串的数据,查询结果是3077

猜你喜欢

转载自blog.csdn.net/kaichekaihanma/article/details/83339968
今日推荐