MySql 查询里面莫名其妙的少了一条记录

bljbljbljblj 2012-12-22 11:45:34
发现问题是在查询明细的时候发现的,
我有一个部门及部门人员查询的功能,在部门列表里显示部门的所有人员,但是当选择一个部门查看人员的时候发现人员总是比部门里列出的人员少一个,于是跑到数据库里去查找,我用Navicat工具查看的数据
查询语句:
select * from dPersonel 
where bumenbianhao='28'
limit 1,2000;

结果:
1904 5411 陈满堂 1
2509 5159 王广立 1
2671 向立炳 1
3858 5419 杨晋卿 1
3859 5671 石二斌 1
4212 3540 范珂 1

SELECT count(*) from dpersonel where bumenbianhao='28' ;

结果:
7
但是,我通过在工具中,双击数据表,从筛选向导中查找数据的时候,发现数据准确的


我还发现,当我用不同的 ORDER BY 的时候,查询结果里显示的也不一样

select * from dPersonel 
where bumenbianhao='28'
order by xingming
limit 1,2000;

1292 5372 吴继 1
3858 5419 杨晋卿 1
2509 5159 王广立 1
3859 5671 石二斌 1
4212 3540 范珂 1
1904 5411 陈满堂 1



到底是哪里有问题了
...全文
629 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
bljbljbljblj 2012-12-24
  • 打赏
  • 举报
回复
谢谢,的确从0开始的
ACMAIN_CHM 2012-12-23
  • 打赏
  • 举报
回复
limit 1 , N 是指1 之后的记录,也就是会取 2,3,4,5,应该是 limit 0,2000或者直接 limit 2000
iihero_ 2012-12-23
  • 打赏
  • 举报
回复
没准你用的这个版本的mysql就存在这样一个bug, 具体版本号多少? select @@version
jazzee 2012-12-23
  • 打赏
  • 举报
回复
个人感觉是limit应该从0开始,
jazzee 2012-12-23
  • 打赏
  • 举报
回复
我也碰到过这种情况,当使用limit的时候会减少记录数,你试着不用limit看看
select * from dPersonel 
where bumenbianhao='28'
order by xingming
;
bljbljbljblj 2012-12-23
  • 打赏
  • 举报
回复
引用 1 楼 wwwwb 的回复:
show variables like 'char%';
结果是 character_set_client utf8 character_set_connection utf8 character_set_database utf8 character_set_results utf8 character_set_server utf8 character_set_system utf8 character_sets_dir C:\mysql\share\charsets/
wwwwb 2012-12-23
  • 打赏
  • 举报
回复
show variables like 'char%';

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧