2013-03-04 24 views
1

到目前为止我有:的Oracle SQL百分比在单个查询

SELECT bike_no, maint_fault_details, maint_action_taken, 
     maint_fault_date, maint_action_date 
FROM mainthistory 
WHERE (maint_fault_date + 5) < maint_action_date ; 

的努力得到它,这样它显示的结果为百分比,即自行车的10%,时间超过5天,修理。任何想法/建议?

回答

2

这将计算条件为真的所有条目,并将其除以行数。

SELECT 100 * SUM(CASE WHEN (maint_fault_date + 5) < maint_action_date 
        THEN 1 
        ELSE 0 END 
     )/COUNT(*) AS percentage 
FROM mainthistory; 
+0

谢谢,我将如何重命名出现的百分比列? – 2013-03-06 16:08:10

+0

通过将'AS'后面的别名更改为其他名称。 – 2013-03-06 16:11:00