I have a query that attempts to retrieve IDs of people, but only if those people have more than one address. I'm also checking that the last time I called them was at least 30 days ago. Finally, I'm trying to order the results, because I want to pull up results with the oldest last_called datetime:
SELECT 
  p.id,
  COUNT(*) AS cnt 
FROM
  people p 
  LEFT JOIN addresses a 
    ON p.id = a.id 
WHERE p.last_called <= DATE_SUB(NOW(), INTERVAL 30 DAY) 
GROUP BY p.id 
HAVING COUNT(*) > 1
ORDER BY p.last_called ASC 
LIMIT 25
Right now, the results are not excluding people with only one address. I haven't even got to the point where I know if the sort order is correct, but right now I'd just like to know why it is that my query isn't pulling up results where there is at least 2 addresses for the person.
 
    