简体   繁体   English

MySQL-GROUP BY,仅显示重复项

[英]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. 查询只需要返回user1和user3的日期,因为它们使用的是不同的浏览器。 Like: 喜欢:

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

Use group by with having . having使用group by

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM