2017-06-28 49 views
0

所以我有以下問題。在SQL中選擇多個變量

我有一個receipts table有幾列,等等我有2列'receipt_id''status'

'Status'可以取下列值:'active''unpaid'

我想運行一個查詢有以下比例(lets call it 'RR') RR=active/(active+unpaid)

我試圖讓「RR」作爲一個變量,然後輸入使用與自身條件的參數「AS」功能的輸出。

另外我試圖進行以下:

從收據

SELECT COUNT從收據爲r其中r.status = '活性' 作爲活性,計數(不同r.user_id)(不同r.user_id)作爲r其中r.status ='unpaid'爲未付款

(爲了得到兩個不同的列並且用一個簡單的公式使比率'RR')。

這一切都不是工作...

有人能幫助我嗎? 在此先感謝

+0

Sql沒有變量。我很困惑 –

+0

請提供樣本數據和期望的結果。你的示例代碼使用'count(distinct)',但你的問題陳述不需要。 –

回答

0

只需使用條件聚合。我認爲這是最簡單的方法:

select avg(r.status = 'active') 
from receipts r 
where r.status in ('active', 'unpaid'); 
+0

嗨戈登,這非常有用! – DiegoPC