Mysql选择不带条件的重复值

时间:2013-06-21 09:07:49

标签: mysql select conditional where-clause

我正在寻找更快的方式来运行这种声明:

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

1 个答案:

答案 0 :(得分:0)

你可以试试像

这样的东西
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,看看什么最适合您。