select users have more than one distinct records in mysql

后端 未结 3 2087
眼角桃花
眼角桃花 2020-12-15 21:11

For a table that holds the records of user\'s webpages visiting behavior, how can I select users that visit more than one webpages.

The structure of this tables is:<

3条回答
  •  心在旅途
    2020-12-15 21:54

    just add having clause

    SELECT userId, COUNT(DISTINCT webpageId) AS count 
    FROM visits 
    GROUP BY userId
    HAVING COUNT(DISTINCT webpageId) > 1
    

    but if you only what the ID

    SELECT userId
    FROM visits 
    GROUP BY userId
    HAVING COUNT(DISTINCT webpageId) > 1
    
    • SQLFiddle Demo

    the reason why you are filtering on HAVING clause and not on WHERE is because, WHERE clause cannot support columns that where aggregated.

提交回复
热议问题