2016-02-24 1 views
-1

Dis une colonne est la suivante:Existe-t-il un moyen de vérifier si les valeurs min et max d'une table sont égales entre elles dans SQL/Postgres?

Price 
$3.00 
$3.00 

min et max seraient égaux. Existe-t-il un moyen de vérifier cela dans la clause WHERE?

+1

select case lorsque max (prix) = min (prix) puis fin 'DoSomething' autre 'DoSomething' comme 'quelque chose' –

+1

Ricky, comment êtes-vous avec les réponses ci-dessous? Ils ont l'air utile. Il est d'usage ici de voter, d'accepter ou de répondre aux réponses peu après leur arrivée. – halfer

+0

À regret, downview (voir ci-dessus). – halfer

Répondre

-1

Ceci est une façon de le faire dans MS SQL, je suppose que si vous aider pour Postgres en quelque sorte:

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

Une autre façon inspirée dans la réponse de Dmitry:

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

Il est une centaine d'années HAVING pour filtrer par des agrégats.

SELECT 1 
FROM YOUR_TABLE 
HAVING MAX(PRICE) = MIN(PRICE)