7

我有一张桌子

       id     mid    userid    remarks
       1       2       8          7 
       2       2       8          6
       3       2       8          4 
       4       2       8          5
       5       2       8          2
       6       2       8          3
       7       2       8          7
       8       2       8          0
       9       2       8          1
       10      2       8          8

我需要该行之前的最后一行备注。即,备注'1'

SELECT MAX(id),mid,userid,remarks FROM sample 
4

3 回答 3

20
Select Id,mid,userid,remarks from sample Where id<(select max(Id) from sample)
order by id desc limit 1

或者

Select Id,mid,userid,remarks from sample 
order by id desc limit 1 offset 1
于 2012-08-11T09:18:52.797 回答
4

试试这个:

    SELECT MAX(id),mid,userid,remarks 
    FROM sample WHERE id NOT IN  (
    SELECT MAX(id) FROM sample
    )
    GROUP BY mid,userid,remarks 

编辑

看看这是否有效

SQL 小提琴演示

于 2012-08-11T09:15:58.303 回答
3

尤其适用于mysql Node.js开发人员

我无法在 mysql-driver for node.js 中获取直接值,即当我运行以下查询时

SELECT MAX(id) FROM Users

我得到的结果是[RowDataPacket { MAX(id): 1 }]

我试图从 object 检索值console.log(MAX(id)),但我不能

所以我设置了一个aliasiemaxid

SELECT MAX(id) as maxid FROM Users

并得到它[RowDataPacket { maxid: 1 }]

我可以检索为console.log(maxid)

于 2018-10-08T05:43:47.310 回答