Oracle
計算分組中的非空值
我有一張
TRAILS
桌子:+----+------------+-----------------+ | ID | LENGTH | CONDITION (1-5) | +----+------------+-----------------+ | 1 | 23.1 | null | | 2 | 41.7 | 1 | | 3 | 10.9 | 4 | | 4 | 6.2 | null | | 5 | 70.6 | 2 | | 6 | 82.1 | 2 | +----+------------+-----------------+
我想這樣總結表格:
+------------+-----------------+----------------------------+ | TOT_LENGTH | AVG_CONDITION | CONDITION_PERCENT_COMPLETE | +------------+-----------------+----------------------------+ | 234.6 | 2.25 | 66% | +------------+-----------------+----------------------------+
我可以做 a
GROUP BY
來獲取TOT_LENGTH
andAVG_CONDITION
,但我不確定如何獲取CONDITION_PERCENT_COMPLETE
,而不會NULLS
從查詢/其他列中刪除。我怎樣才能做到這一點?
COUNT(condition)``condition
計算組中不為空的所有行。
COUNT(*)
計算組中的所有行。
COUNT(condition) / COUNT(*) * 100
返回上述百分比的百分比。