Jquery 如何编写MySQL查询来对结果进行分组,同时保留特定行的ID?
我使用的是MySQL 5.5.37。我在写查询时遇到问题。我有以下几列数据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
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