Alexis
Alexis

Reputation: 45

MySQL - GROUP BY and display only duplicated

I have a log table with username and which browser was used. I want select only users that have access by different browsers. Example:

|-----------------------|
| username  | browser   |
|-----------------------|
| user1     | Chrome    |
| user1     | Chrome    |
| user1     | Firefox   |
| user1     | Firefox   |
| user1     | Firefox2  |
| user2     | Safari    |
| user2     | Safari    |
| user2     | Safari    |
| user3     | Safari    |
| user3     | Chrome    |
| user3     | Chrome    |
| user3     | Chrome    |
|-----------------------|

Query need return only dates from user1 and user3, because they are using different browsers. Like:

|-----------------------|
| username  | browser   |
|-----------------------|
| user1     | Chrome    |
| user1     | Firefox   |
| user1     | Firefox2  |
| user3     | Safari    |
| user3     | Chrome    |
|-----------------------|

Upvotes: 0

Views: 27

Answers (1)

Vamsi Prabhala
Vamsi Prabhala

Reputation: 49260

Use group by with having.

select distinct username, browser
from logtable
where username in (select username from logtable 
                   group by username
                   having count(distinct browser) > 1)

Upvotes: 2

Related Questions