2016-02-24 32 views
-1

假设一列是:有没有办法检查SQL/Postgres中表的最小值和最大值是否相等?

Price 
$3.00 
$3.00 

min和max将是相等的。有没有办法在WHERE子句中检查它?

+1

选择的情况下,当最高(价格)= MIN(价格),那么“DoSomething的”其他“的DoSomething”端为“东西” –

+1

瑞奇,你是如何与下面的答案过得好?他们看起来有帮助这是习惯于投票,接受或答复他们进来后不久。 – halfer

+0

后悔,downvoted(见上文)。 – halfer

回答

-1

这是做,在MS SQL的方式,我想这应该帮助你的Postgres的莫名其妙:

IF EXISTS (SELECT NULL FROM Table HAVING MAX(Price) = MIN(Price)) 
    PRINT 'Equal' 
ELSE 
    PRINT 'Not equal' 

另一种方式激发了德米特里的回答是:

IF ((SELECT CASE WHEN MAX(Price) = MIN(Price) THEN 1 END FROM Table) = 1) 
    PRINT 'Equal' 
ELSE 
    PRINT 'Not equal' 
0
WITH t(price) AS (VALUES 
    (3.00), 
    (3.00) 
) 
SELECT 
    CASE 
    WHEN max(price) = min(price) THEN TRUE 
    ELSE FALSE 
    END 
FROM t; 
0

有是一个百年历史HAVING由聚合过滤。

SELECT 1 
FROM YOUR_TABLE 
HAVING MAX(PRICE) = MIN(PRICE) 
相关问题