我在寻找重复的用户ID并需要2个where子句时遇到问题。不幸的是,下面的查询使我出错。如何使用所需的条件查看重复的用户ID?

select user_id,
       order_placed,
       downloaded,
       template
  from orders
GROUP BY
       user_id,
       order_placed,
       downloaded,
       template
where (modified >= '2014-01-01' and downloaded = 'N' )
HAVING count(*) > 1

最佳答案

WHERE放在GROUP BY之前,紧随FROM之后。
那应该工作:

SELECT user_id,
       order_placed,
       downloaded,
       template,
       COUNT(*)
  FROM orders
 WHERE (    modified  >= '2014-01-01'
        and downloaded = 'N' )
GROUP BY
       user_id,
       order_placed,
       downloaded,
       template
HAVING count(*) > 1;

关于mysql - 查看重复记录和多个where子句错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22483846/

10-12 07:24