2016-02-24 36 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) 
相關問題