在mysql查询中获取MAX值

时间:2012-08-11 09:10:23

标签: mysql

我有一张桌子

       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 

3 个答案:

答案 0 :(得分:19)

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

答案 1 :(得分:4)

试试这个:

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

修改

看看是否有效

SQL FIDDLE DEMO

答案 2 :(得分:3)

尤其是 mysql Node.js 开发人员

我无法在Node.js的mysql驱动程序中获得直接值 即当我运行以下查询

SELECT MAX(id) FROM Users

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

我试图从对象console.log(MAX(id))中检索值,但是我不能

所以我设置了alias,即maxid

SELECT MAX(id) as maxid FROM Users

并将其作为[RowDataPacket { maxid: 1 }]

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