如何查看最后3行的相同值?

时间:2014-01-21 11:18:21

标签: mysql group-by limit

我想检查最后3行 - 按ID DESC排序 - 为相同的值。

ID | Value
----------
52 | 20
51 | 20
50 | 20
49 | 34
48 | 72
47 | 12
46 | 19
45 | 55
44 | 8

例如,在我上面的架构中,如果相同的3TRUE,我希望获得Value20

我试过了:

SELECT Value FROM mytable WHERE Value = '20' GROUP BY Value ORDER BY ID DESC LIMIT 3;

但它没有用,我得到所有的价值,好像LIMIT不起作用。

3 个答案:

答案 0 :(得分:1)

请删除分组并运行以下查询:

SELECT * FROM (SELECT Value, ID FROM test1 ORDER BY ID DESC LIMIT 3) AS A WHERE Value = '20';

答案 1 :(得分:1)

SELECT IF(COUNT(*) = 3, 'TRUE', 'FALSE') FROM (
SELECT
*
FROM
your_table
ORDER BY ID DESC
LIMIT 3
) sq
WHERE Value = 20;

答案 2 :(得分:0)

select tb.value from mytable tb where tb.id <=  ((select min(id) from mytable)+2)

这只有在您确定您的身份证的值每次都是上一个/下一个身份

的情况下才有效

或者这个

select tb.value from mytable tb 
where rownum >=(select(max(rownum) from mytable)-2) 
order by tb.id desc
相关问题