我正在寻找运行这种语句的更快方法:

SELECT *
FROM `aukcje_przedmioty`
WHERE (
(
    opis NOT
    IN (
        SELECT opis
        FROM aukcje_przedmioty
        WHERE ( aktywne =1 AND user_id =6 )
    )
)
AND aktywne =0
AND user_id =6
)

表aukcje przedmioty

最佳答案

你可以尝试像

SELECT a.*
FROM `aukcje_przedmioty` a
JOIN
(
  SELECT opis,user_id
  FROM aukcje_przedmioty
  GROUP BY opis,user_id
  HAVING max(aktywne) = 0
) x
ON
x.user_id = a.user_id and
x.opis = a.opis
WHERE user_id = 6


http://sqlfiddle.com/#!2/16774/6

在设置上使用explain可以查看最适合您的设置。

关于mysql - MySQL选择条件不重复的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17231454/

10-12 06:19