Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过分页和按状态分组从mysql数据库中按排序顺序获取记录_Mysql_Sql - Fatal编程技术网

如何通过分页和按状态分组从mysql数据库中按排序顺序获取记录

如何通过分页和按状态分组从mysql数据库中按排序顺序获取记录,mysql,sql,Mysql,Sql,我有一个表,例如Employee,其中有列(id、name处于活动状态) 我想从employee表中获取按name排序并分页的记录 SELECT * from employee ORDER BY name ASC LIMIT 5, 10; 在上面的查询中,5计数到跳过前5条记录,然后获取下一条10记录 我想做一个查询,它将返回所有具有值is_active=1的记录,然后是具有值is_active=0且分页的记录 SELECT * from employee ORDER BY name ASC

我有一个表,例如
Employee
,其中有列
(id、name处于活动状态)

我想从
employee
表中获取按
name
排序并分页的记录

SELECT * from employee ORDER BY name ASC LIMIT 5, 10;
在上面的查询中,
5
计数到
跳过前5条记录,然后获取下一条
10
记录

我想做一个查询,它将返回所有具有值
is_active=1
的记录,然后是具有值
is_active=0
且分页的记录

SELECT * from employee ORDER BY name ASC LIMIT 5, 10;
例如:我有50条记录,其中40条记录的值
为1
,10条记录的值
为0
。 因此,当我使用分页和页面大小时,假设每页
10条记录

因此,查询将首先返回所有活动记录,并按名称排序,最后一页将返回10条非活动记录,并按名称排序

有人有什么建议吗?任何帮助都将不胜感激


谢谢大家!

您只需按
处于活动状态的
列进行向下排序,而不需要
偏移量
值,具体取决于以下解释:

SELECT * 
  FROM employee 
 ORDER BY is_active DESC, name 
 LIMIT 10

谢谢你@Barbaros,一切正常。我正在分页中获取记录,因此需要偏移量。我检查了你的解决方案,也添加了偏移量,它的工作如预期的那样。