mysql数据查询,共有5000条数据,要有三种返回结果。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql数据查询,共有5000条数据,要有三种返回结果。相关的知识,希望对你有一定的参考价值。
查询条件为: a=1,a=2,a=3,a=1的查出最新的5条,a=2的查出最新10条,a=3的查出最新6条。 有两种查询方式:第一种是查询三次,得到三个数组。第二种是把所有的5000条数据都查询出来,再用php循环区分分别赋予三个数组。请问那种方法对mysql的资源占用最少,更为效率,或者有没有其它更好的解决方案。求指教!
通过mysql三次查询,出三个数组。。如果访问量大的话数据三个数据缓下来,简单的可以把数组写入文件,当文件不超时时间调用文件,不再查询。。当文件超时重新查询数据库并更新文件。 参考技术A 给你介绍一种 效率更高的查询吧,使用存储过程。把 a 作为参数,a=1,a=2,a=3,分别 order by id desc limit 5 或者 10 或者 6。
sql:
CREATE PROCEDURE `GetInfo`(in a_type int)
BEGIN
declare stmt varchar(8000);
declare limitV varchar(10);
set limitV = '5' ;
if a_type = 1 then
set limitV = '5' ;
else if a_type = 2 then
set limitV = '10' ;
else if a_type =3 then
set limitV = '6' ;
end if;
SET @SQL = Concat(" select * from 你的表 order by id desc limit ", limitV );
prepare stmt from @SQL;
execute stmt;
deallocate prepare stmt;
END
// 调用
call GetInfo (1);
call GetInfo (2);
call GetInfo (3); 参考技术B 第一种你要遍历数据3次吧
MySQL中的注释(有三种)
MysQL支持三种注释:
1、#... (推荐这种,具有通性) 2、"-- ..." (注意--后面有一个空格) 3、/*...*/
以上是关于mysql数据查询,共有5000条数据,要有三种返回结果。的主要内容,如果未能解决你的问题,请参考以下文章