mysql数据库假如描述人的一张表中有age=1,age=3,age=4,age=5,age=7,这样五行数据,我应该怎么查询才能知道age=4这条数据前面还有几条数据,或者说怎么知道offset的值。其实我是在做一个数据同步,比如我今天备份到了age=4,我明天知道应该从age=5这条开始备份,那我就需要知道offset的值。
多谢了!!
多谢了!!
1
Livid MOD PRO select count(*) from tbl where age <= 4
|
4
xiandao7997 Jun 19, 2014 via Android
@jerryge 这个假设本身就是不成立的,以前从别处看过,数据库的数学基础就是集合论,而一个集合里的数据是无序的。
以前做项目的时候也遇到过 SELECT * 选出的结果不是按 id 递增的顺序来显示的,DBA说如果一定要按顺序显示,还是加一个 sort by 保险。 回到你的需求,如果需要根据一个数据作 offset 来备份,而 id 又不一定有序(不递增的情况下), 那可以用一个字段保存时间戳,根据时间总不会有什么错的。 |
5
jerryge OP @xiandao7997 嗯,是我自找麻烦。
|
6
hjse7en Jun 19, 2014
建议加个字段,保存时间
|