我正在执行SELECT语句,我有一个问题。当你这样做的时候,例如:
select max(BMI), STDDEV(WEIGHT) FROM MEASUREMENTS where
MEASUREMENTS.patient_id='nick' AND
MEASUREMENTS.measure_date BETWEEN DATE_SUB("2013-12-30", INTERVAL 6 YEAR) AND "2013-12-30";0的行数也算在内吗?如果是这样,我如何排除它们?因为,在我的例子中,0表示“那天没有进行测量”,所以我不想将这一天包括在我的总结果数中。
发布于 2018-10-26 19:47:45
尝试以下操作:排除值为零的行。
您的原始声明
select max(BMI), STDDEV(WEIGHT) FROM MEASUREMENTS where MEASUREMENTS.patient_id='nick' AND MEASUREMENTS.measure_date BETWEEN DATE_SUB("2013-12-30", INTERVAL 6 YEAR) AND "2013-12-30";您的新语句
select max(BMI), STDDEV(WEIGHT) FROM MEASUREMENTS where MEASUREMENTS.patient_id='nick' AND MEASUREMENTS.measure_date BETWEEN DATE_SUB("2013-12-30", INTERVAL 6 YEAR) AND "2013-12-30" AND MEASUREMENTS.WEIGHT <> 0;只需添加AND MEASUREMENTS.WEIGHT <> 0即可。您也可以使用大于0的值。
https://stackoverflow.com/questions/53008007
复制相似问题