2017-06-28 123 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