如果存在重复数据,如何在mysql中选择特定的数据
我在mysql数据库中有一个表程序如果存在重复数据,如何在mysql中选择特定的数据,mysql,sql,database,Mysql,Sql,Database,我在mysql数据库中有一个表程序 _id value 1 0 2 1 3 3 4 1 5 1 6 1 7 6 8 1 9 2 现在我想选择一行,它的值是1。但问题是,我想在值列中从底部选择第三个1 输出如下所示: _id = 5 value = 1 我编写了一个查询,如: SELECT distinct *
_id value
1 0
2 1
3 3
4 1
5 1
6 1
7 6
8 1
9 2
现在我想选择一行,它的值是1。但问题是,我想在值列中从底部选择第三个1
输出如下所示:
_id = 5 value = 1
我编写了一个查询,如:
SELECT distinct * FROM program_data WHERE value= 1 ORDER BY value desc
limit 3;
但在本例中,a获取最后3行,但我只需要一行,其第三个值是从底部算起的1 如果您要从“底部”取第三个1,则假定
\u id
确定顺序:
select d.*
from data d
where value = 1
order by _id desc
limit 2, 1;
这将在
limit
子句中使用偏移量。您可以使用此查询进行此操作。这是小提琴
SELECT *
FROM (
SELECT _id,value
FROM data
where value = 1
ORDER BY _id ASC
LIMIT 3
) AS tbl
ORDER BY _id DESC
LIMIT 1