Mysql предельная функция, кажется, не работает для меня - PullRequest
2 голосов
/ 24 мая 2010

Вот мой запрос,

select t1.dSyllabus_id,t1.dBatch,t1.dFilePathName,
t2.dDegreeName,t3.dDepartmentAbbr
from tbl_syllabus as t1
join tbl_degree_master as t2,
tbl_department_master as t3
where t2.dDegree_id=t1.dDegree_id 
and t3.dDepartment_id=t1.dDepartment_id
and t1.dCollege_id='1'
and t1.dIsDelete='0'

и я получаю

Без ограничений http://img534.imageshack.us/img534/2165/withoutlimi.jpg

применение лимита,

 select t1.dSyllabus_id,t1.dBatch,t1.dFilePathName,
    t2.dDegreeName,t3.dDepartmentAbbr
    from tbl_syllabus as t1
    join tbl_degree_master as t2,
    tbl_department_master as t3
    where t2.dDegree_id=t1.dDegree_id 
    and t3.dDepartment_id=t1.dDepartment_id
    and t1.dCollege_id='1'
    and t1.dIsDelete='0'
    limit 0,5

я получаю,

с лимитом http://img13.imageshack.us/img13/2470/withlimit.jpg

Я не получаю первые пять записей, почему?

Ответы [ 2 ]

3 голосов
/ 24 мая 2010

Вы получаете 5 записей, но вы не установили заказ. Они не вернутся в определенном порядке, если вы не скажете им тоже. В вашем случае я считаю, что вы хотите их в порядке их идентификатора. Добавить что-то вроде:

order by `t1`.`dSyllabus_id` ASC

Ваш запрос выглядит так:

select t1.dSyllabus_id,t1.dBatch,t1.dFilePathName,
t2.dDegreeName,t3.dDepartmentAbbr
from tbl_syllabus as t1
join tbl_degree_master as t2,
tbl_department_master as t3
where t2.dDegree_id=t1.dDegree_id 
and t3.dDepartment_id=t1.dDepartment_id
and t1.dCollege_id='1'
and t1.dIsDelete='0'
order by `t1`.`dSyllabus_id` ASC
limit 0,5
2 голосов
/ 24 мая 2010

Использовать ORDER BY

and t1.dIsDelete='0'
    ORDER BY 't1.dSyllabus_id'
    limit 0,5
...