怎么写这个查询?

Rya*_*yan 2 sql sql-server-2008

我有一个包含用户的表...某种方式的用户被加倍(有多个记录).我希望通过电子邮件地址清楚地提取每个用户记录,对于拥有多个记录的用户,我只想提取登录次数最多的记录.

--USERS----------------------------
ID EMAIL           TOTAL_LOGINS
1  blah@blah.com   3
2  blah@blah.com   1
3  bloop@blah.com  1
4  bloop@blah.com  45
5  blarp@blah.com  6
6  flag@blah.com   2
Run Code Online (Sandbox Code Playgroud)

我希望查询返回的是:

ID EMAIL           TOTAL_LOGINS
1  blah@blah.com   3
4  bloop@blah.com  45
5  blarp@blah.com  6
6  flag@blah.com   2
Run Code Online (Sandbox Code Playgroud)

有人可以帮我解决这个问题吗?

谢谢!

Dev*_*rke 5

SELECT    EMAIL, MAX(TOTAL_LOGINS)
FROM      USERS
GROUP BY  EMAIL
Run Code Online (Sandbox Code Playgroud)

编辑:

这将在MS SQL中执行您想要的操作.

SELECT    * -- Bad practice. I'm just showing that you can select anything.
FROM      USERS
WHERE     ID = (SELECT    TOP 1 ID
                FROM      USERS u
                WHERE     u.EMAIL = USERS.EMAIL
                ORDER BY  TOTAL_LOGINS DESC)
Run Code Online (Sandbox Code Playgroud)