Est-il un “NON” de la syntaxe comme “OÙ XXX qui ne sont PAS”?

  1. J'ai un peu de requêtes obtenir les numéros d'identification de lignes qui seront supprimés dans l'avenir.
  2. Les numéros de ligne sont mis dans une chaîne de caractères et placé dans la requête ci-dessous (si vous voyez "2").
  3. Je veux les résultats d'ignorer les lignes (comme si ils ont déjà été supprimés).
    SELECT MAX(T1.id) AS MAXid
    FROM transactions AS T1 
    WHERE id NOT IN ( 2 ) 
    GROUP BY T1.position 
    ORDER BY T1.position

Ma conjecture est que j'ai besoin de remplacer le "OÙ", avec "AVOIR", mais je ne trouve pas de "ne PAS AVOIR" de la syntaxe.

La façon dont cette question est actuellement à l'écrit, il ne reviendra pas une ligne pour T1.la position du max id pour la position est répertorié dans la clause where.

Comment puis-je obtenir cette requête de me donner le max ID pour le T1.position
tout en donnant sur les lignes avec des Id énumérés dans la clause where?

Vous ne pouvez pas simplement "remplacer la WHERE avec HAVING". Le HAVING clause doit apparaître dans un endroit différent de la requête après la GROUP BY et ORDER BY. MAIS - comme titanoboa dit, je ne suis pas sûr HAVING est ce que vous cherchez. Donc je vote pour lui!

OriginalL'auteur Drewneedshelp | 2011-03-09