2016-04-15 67 views
-1

的問題是「清單比平均支付兩倍的所有款項」SQL語言 - 有沒有寫平均值兩次的方法?

SELECT AVG(amount) 
FROM Payments 
WHERE amount > AVG(amount)*2; 
+0

請給RDBMS添加標籤。是平均付款的兩倍='2 * AVG(金額)'? –

+0

'SELECT * FROM 付款 WHERE量>(SELECT AVG(量)* 2 FROM付款)' –

+0

難道你'SELECT AVG(數量)平均 FROM付款WHERE 量/ 2>平均;'? (不過要小心「積分」) – 2016-04-15 05:51:06

回答

4

你需要一個子查詢來計算總的平均量:

SELECT * 
FROM Payments 
WHERE amount > (SELECT AVG(amount)*2 FROM Payments) 
0

您可以把平均可變

Declare @average int 
Select @average = ... 
Select * from ... Where x>= @average 
+0

非常具體的答案 - 對沒有指定dbms的問題... – jarlh

+0

這並不會使其無效或不正確 –

+0

我沒有說...(有人downvote?我沒有。) – jarlh

0

此查詢可以幫助你:

SELECT * FROM `Payments` WHERE amount > ((select avg(amount) from `Payments`)*2) 
+0

那些回來蜱是特定產品 - 甚至不需要在這裏... – jarlh

相關問題