Mysql 在您喜欢的位置获取最新的行

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

我试图获取具有指定“pull”值的最新记录,然后按imei编号分组。但是我得到了错误的输出,时间与数据库中的时间不匹配

这是我的桌子

    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

但是那只针对一行?你说的是
获取最新记录,比如
啊,对不起,我指的是多行,不仅仅是一行,但那只针对一行?你说的是
获取最新记录,比如
啊,对不起,我指的是多行,不仅仅是一行