0 0

MYSQL查询的问题30

有一张表,就一张表,个人用户信息
ID NAME AGE HEIGHT

ID是主键

查询条件比如 NAME LIKE '%xxx%' AGE >10  HEIGHT >165

假如会得到5678条结果

结果中ID是乱的,ID不是顺序的

在这5678条结果当中,有一条的结果的ID是9527

那么我怎么去查询这个ID叫9527的这行,在5678条结果中排第几行?

目地是分页,然后我就可以limit 从这行取10条或其它条
2013年4月16日 11:42

4个答案 按时间排序 按投票排序

0 0

采纳的答案

这种情况必须按某一个字段排序,如果按id排序,可以采用下面的方式,

select * from user where id>9527 limit 0,10;

qq空间,twitter他们都是按时间来进行排序的,你考虑一下按哪个字段排序.

2013年4月16日 13:23
2 0

为什么会乱
查询条件比如 NAME LIKE '%xxx%' AGE >10  HEIGHT >165
这里可能走age/height的索引 所以出来的可能是age/height有序

如果你id是有序的

那么我怎么去查询这个ID叫9527的这行,在5678条结果中排第几行?
这个只能用order by id排序 然后 子查询查
count(id >=9527) 即可得到


目地是分页,然后我就可以limit 从这行取10条或其它条 如果是这样的话 可以在查询时带上id >=9527(往后查) id<=9527(往前查) 然后从第一页开始 更简单 而且效率高

2013年4月16日 11:55
1 0

MySQL没有rownum(),只能自己实现了。

方法一、对同一个表的连接查询:

select count(*) rownum , a.id, a.name, a.age, a.height
from yunzhu.user_info a, yunzhu.user_info b
where a.id > b.id
group by a.id


方法二、子查询(与方法一基于同样的原理)
select (select count(*) from yunzhu.user_info b where b.id < a.id) as rownum, a.id, a.name, a.age, a.height
from yunzhu.user_info a


当然,这样做是会对效率有一定影响的。

这里有更详细的描述:
http://blog.csdn.net/ACMAIN_CHM/article/details/4095531

2013年4月16日 12:04
0 0

set @myno = 0;
select rownum from (
       select (@myno := @myno + 1) as rownum,id as id FROM table) as tab
where id = ***  ;  

2013年4月16日 12:06

相关推荐

    mysql 树形结构查询

    mysql 树形结构查询 MySQL 树形结构查询是指使用存储过程来实现 MySQL 数据库中的树形结构查询。这种查询方式可以高效地查询树形结构的数据,并且可以根据需要设置递归深度。 MySQL 中的树形结构查询可以使用存储...

    Mysql查询流程分析

    ### MySQL查询流程分析 在深入理解MySQL查询流程之前,我们首先需要明确几个基本概念:MySQL是一种关系型数据库管理系统,它支持SQL(Structured Query Language)语言,用于管理存储在表格中的数据。MySQL查询流程...

    sql查询优化(提高MySQL数据库查询效率的几个技巧)

    SQL 查询优化(提高 MySQL 数据库查询效率的几个技巧) 在 MySQL 数据库中,查询优化是一个非常重要的方面。在实际应用中,高效的查询可以提高整个系统的性能和响应速度。下面我们将介绍几个提高 MySQL 数据库查询...

    mysql CPU高负载问题排查

     在某个新服务器上,新建了一个MySQL的实例,该服务器上面只有MySQL这一个进程,但是CPU的负载却居高不下,使用top命令查询的结果如下: [dba_mysql@dba-mysql ~]$ top top - 17:12:44 up 104 days, 20 min, 2 ...

    MySQL锁类型以及子查询锁表问题、解锁1

    总的来说,理解和正确使用MySQL的锁机制对于优化并发性能和避免并发问题至关重要。在设计和编写SQL语句时,应尽可能减少锁定范围,提高系统效率。同时,了解如何排查和处理死锁问题也是数据库管理员必备的技能。

    解决MySql大数据Like查询慢的问题

    在MySQL数据库中,LIKE查询是常用的模糊匹配方法,但当处理大数据量时,尤其是涉及到通配符(如%)的LIKE查询,其性能问题不容忽视。这类查询往往会导致全表扫描,消耗大量的CPU资源和时间,进而拖慢整体系统的响应...

    数据库查询指令:mysql查询语句汇总+编程知识+技术开发

    mysql查询语句汇总,数据库查询指令:mysql查询语句汇总+编程知识+技术开发;mysql查询语句汇总,数据库查询指令:mysql查询语句汇总+编程知识+技术开发;mysql查询语句汇总,数据库查询指令:mysql查询语句汇总+...

    MySQL数据库查询优化

    课程大纲: 第1课 数据库与关系代数 综述数据库、关系代数、查询优化...再次回到理论,从理论的高度总结关系代数理论与MySQL查询优化实践的关系。真正认识、掌握MySQL的查询优化技术,大步流星步入查询优化的高手之列。

    MySQL递归查询

    MySQL 递归查询实现方法 MySQL 递归查询是指在 MySQL 中实现类似 Oracle Hierarchical Queries 的功能,用于查询树形结构中的所有子节点。由于 MySQL 目前还没有内置的递归查询功能,因此需要使用其他方法来实现。 ...

    MySQL数据库查询中的like问题.pdf

    MySQL数据库查询中的like问题 MySQL 数据库查询中的like问题是指在使用like操作符时出现的多余数据的问题。这种问题是由于MySQL数据库的设计特点和中文汉字的双字节字符引起的。 在 MySQL 数据库中,使用like操作...

    MySQL常见问题及解决方法

    MySQL常见问题及解决方法 MySQL 是一种关系型数据库管理系统,它广泛应用于 web 应用程序中。然而,在使用 MySQL 过程中,用户经常会遇到一些常见的问题,本文将对这些问题进行总结和解决。 一、 MySQL 登录问题 ...

    mybatis连接MySQL8出现的问题解决方法

    "mybatis连接MySQL8出现的问题解决方法" MyBatis是当前最流行的持久层框架之一,它提供了一个简单的方式来访问数据库。然而,在使用MyBatis连接MySQL8时,可能会出现一些问题。本文将介绍MyBatis连接MySQL8出现的...

    MySQL查询把多列返回结果集拼装成一个字段

    mysql中有种可以通过join相关操作进行表与表之间的方式查询不同结果集,但是在一对多的情况下,关键查询的结果是多条的.例如:班级和学习的关系,我想很直观的看到班级和学生的情况,列表显示出班级的信息和班级的男生...

    mysql查询分析器

    MySQL查询分析器是一种强大的工具,专门用于帮助数据库管理员和开发人员高效地管理和操作MySQL数据库。SQLYog Enterprise绿色版是其中的一款,它提供了一个直观且功能丰富的界面,使得执行SQL查询、管理数据库对象...

    C#下的mysql数据库查询显示

    本资源针对的是在C#环境下进行MySQL数据库查询的基础教程,特别适合初学者学习。 首先,我们要理解C#与MySQL的结合是如何工作的。在C#应用中,我们需要一个连接MySQL的驱动,如`MySql.Data.MySqlClient`库,这个库...

    mysql查询包含某字段的所有表

    mysql查询包含某字段的所有表. 根据字段名称找出含有该字段的所有表。

    45-MySQL单表2000万数据查询慢解决方案1

    本文主要讨论了如何解决MySQL单表2000万数据查询慢的问题,通过将表分区和使用时间触发器来实现数据的优化。 分区设计 在解决方案中,我们使用的是按照8周将单表分为8个区,每周一都会将最早一周的分区Drop掉,然后...

    MySQL查询语句汇总+编程知识+开发技术

    MySQL查询语句汇总+编程知识+开发技术; MySQL查询语句汇总+编程知识+开发技术; MySQL查询语句汇总+编程知识+开发技术; MySQL查询语句汇总+编程知识+开发技术; MySQL查询语句汇总+编程知识+开发技术; MySQL查询...

Global site tag (gtag.js) - Google Analytics