2
S'il vous plaît aider à optimiser cette requête:Optimize "pas dans" requête
SELECT ts.SiteId, COUNT(ts.SiteId) AS Count
FROM ts
WHERE ts.SiteId not in
(SELECT ts.SiteId FROM ts WHERE ts.uniqueid = 'xxx')
GROUP BY ts.SiteId ORDER BY Count DESC
C'est ce que je pensais. De plus, si vous ne voulez pas que la colonne supplémentaire soit retournée, vous pouvez probablement déplacer toute l'expression 'MAX (...)' dans la clause 'HAVING' à la place. – VeeArr
Merci beaucoup. Je ceci: SELECT ts.SiteId, COUNT (ts.SiteId) AS compter à partir ts GROUP BY ts.SiteId AYANT MAX (CAS QUAND ts.uniqueid = 'xxx' ALORS 1 0 ELSE END) = 0 COMMANDE BY Count DESC – Zero
J'aime la réponse, mais j'aimerais savoir pourquoi cela fonctionnerait mieux. Peut-être qu'il y a une différence dans le type JOIN? – Daniel