Jquery 如何编写MySQL查询来对结果进行分组,同时保留特定行的ID?

Jquery 如何编写MySQL查询来对结果进行分组,同时保留特定行的ID?,jquery,mysql,sql,group-by,Jquery,Mysql,Sql,Group By,我使用的是MySQL 5.5.37。我在写查询时遇到问题。我有以下几列数据 select distinct u.id, u.first_name, u.last_name, l.last_login_time … 我想要的是选择一行,其中名字和姓氏在最近一次登录时是唯一的。如果上面的查询返回 ID FIRST_NAME LAST_NAME LAST_LOGIN_TIME ============================================= 100 Jerr

我使用的是MySQL 5.5.37。我在写查询时遇到问题。我有以下几列数据

select distinct u.id, u.first_name, u.last_name, l.last_login_time …
我想要的是选择一行,其中名字和姓氏在最近一次登录时是唯一的。如果上面的查询返回

ID  FIRST_NAME  LAST_NAME       LAST_LOGIN_TIME
=============================================
100 Jerry           Seinfeld        2015-07-01
200 George      Costanza        2014-01-01
300 Jerry           Seinfeld        2015-07-31
400 George      Costanza        2015-05-05
500 Elaine          Benes           2013-03-03
我希望修改后的查询返回

ID  FIRST_NAME  LAST_NAME       LAST_LOGIN_TIME
=============================================
300 Jerry           Seinfeld        2015-07-31
400 George      Costanza        2015-05-05
500 Elaine          Benes           2013-03-03
你知道我将如何编写这样的查询吗?

解决方案:

SELECT DISTINCT u.firstname, MAX(lastlogintime) 
FROM tb 
GROUP BY u.firstname 
ORDER BY MAX(lastlogintine) DESC, u.firstname
    select t1.ID,t1.FIRST_NAME, t1.LAST_NAME, t.max_log
    from Table1 t1
    join (
       select FIRST_NAME,  LAST_NAME, max(LAST_LOGIN_TIME) as max_log
        from Table1
       group by FIRST_NAME,  LAST_NAME
    ) t
    on t.FIRST_NAME = t1.FIRST_NAME
    and t.LAST_NAME = t1.LAST_NAME
    and t.max_log = t1.LAST_LOGIN_TIME
    order by t1.ID
我使用的是内部查询,因为我不知道ID是如何生成的。如果日期越高意味着ID越高,那么我们可以删除内部查询并继续使用:

 select max(ID), FIRST_NAME,  LAST_NAME, max(LAST_LOGIN_TIME) as max_log
 from Table1
 group by FIRST_NAME,  LAST_NAME