Mysql 在您喜欢的位置获取最新的行
我试图获取具有指定“pull”值的最新记录,然后按imei编号分组。但是我得到了错误的输出,时间与数据库中的时间不匹配 这是我的桌子Mysql 在您喜欢的位置获取最新的行,mysql,group-by,Mysql,Group By,我试图获取具有指定“pull”值的最新记录,然后按imei编号分组。但是我得到了错误的输出,时间与数据库中的时间不匹配 这是我的桌子 IMEI TIME STATUS 354851057191551 2013-06-25 10:11:30 pull getrestbyimei 354851057191551 2013-06-25 10:10:36 Push getrestb
IMEI TIME STATUS
354851057191551 2013-06-25 10:11:30 pull getrestbyimei
354851057191551 2013-06-25 10:10:36 Push getrestbyimei
354851057234971 2013-06-25 10:10:34 Push getbookings
351895053436612 2013-06-25 10:10:32 pull getrestbyimei
351895053436612 2013-06-25 10:10:31 pull getrestbyimei
期望输出:
IMEI TIME STATUS
354851057191551 2013-06-25 10:11:30 pull getrestbyimei
351895053436612 2013-06-25 10:10:32 pull getrestbyimei
我就是这样尝试的:
SELECT imei as IMEI, MAX(FROM_UNIXTIME(timestamp)) as TIME, action as STATUS
FROM testlog
where action like 'pull%'
GROUP BY imei
order by TIME asc
您需要执行
按时间顺序描述
检索最新记录您需要执行按时间顺序描述
检索最新记录您可以按主键描述用户订单
这里的主键是您的主键字段您可以按主键说明进行用户订购
这里的主键是您的主键字段我想您不需要来自UNIXTIME的
功能
SELECT imei as IMEI, MAX(timestamp) as TIME, action as STATUS
FROM testlog
where action like 'pull%'
GROUP BY imei
order by TIME asc
这是。我想您不需要来自UNIXTIME的功能
SELECT imei as IMEI, MAX(timestamp) as TIME, action as STATUS
FROM testlog
where action like 'pull%'
GROUP BY imei
order by TIME asc
以下是。您需要一个子选择来获取每种类型的最新记录时间戳,然后将其与表连接起来以获取其余的行和列。否则,您得到的操作可能是最新的操作,也可能不是最新的操作(如果您有多个不同的操作,但以pull开头)
另一个问题是时间戳是时间戳,而不是unix时间戳。因此,您不应该从unix时间戳转换它。您需要一个子选择来获取每种类型的最新记录时间戳,然后将其与表连接起来以获取其余的行和列。否则,您得到的操作可能是最新的操作,也可能不是最新的操作(如果您有多个不同的操作,但以pull开头)
另一个问题是时间戳是时间戳,而不是unix时间戳。因此,您不应该从unix时间戳转换它。试试这个
SELECT imei as IMEI, MAX(timestamp) as TIME, action as STATUS
FROM testlog
where action like 'pull%'
GROUP BY imei
order by TIME asc
试试这个
SELECT imei as IMEI, MAX(timestamp) as TIME, action as STATUS
FROM testlog
where action like 'pull%'
GROUP BY imei
order by TIME asc
但是那只针对一行?你说的是获取最新记录,比如啊,对不起,我指的是多行,不仅仅是一行,但那只针对一行?你说的是获取最新记录,比如啊,对不起,我指的是多行,不仅仅是一行