How to select records only if the combined table has an account greater than 10?

I need to select memberid , where the number of logins greater than 10

I wrote this query:

 SELECT COUNT(DISTINCT(member.member_id)) FROM member LEFT JOIN location_member ON (member.member_id = location_member.member_id) WHERE Month(FROM_UNIXTIME(member.r_date)) = 11 AND Year(FROM_UNIXTIME(member.r_date)) = 2011 AND FROM_UNIXTIME(member.r_date, '%d') = 28 AND member.pc_address_validated <> 1 **OR (if checkins > 10)** 

How to check if the score exceeds 10?

+6
source share
2 answers
 SELECT memberId FROM checkin GROUP BY memberId HAVING COUNT(1) > 3 

To ask a new query:

 SELECT member.member_id FROM member INNER JOIN checkins ON member.member_id = checkins.member_id LEFT JOIN location_member ON (member.member_id = location_member.member_id) WHERE Month(FROM_UNIXTIME(member.r_date)) = 11 AND Year(FROM_UNIXTIME(member.r_date)) = 2011 AND FROM_UNIXTIME(member.r_date, '%d') = 28 AND member.pc_address_validated <> 1 GROUP BY member.member_id HAVING COUNT(1) > 10 
+7
source

Your request will be similar to this,

 select ck.memberId,ck.login from Member m join CheckIn ck on m.id = ck.memberId group by ck.memberId, ck.login having count(ck.login) > 3 
0
source

Source: https://habr.com/ru/post/902986/


All Articles