我想在mysql数据库中查询news表中的信息按type类型去查询同时还要分页,这个怎么

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我想在mysql数据库中查询news表中的信息按type类型去查询同时还要分页,这个怎么相关的知识,希望对你有一定的参考价值。

要分页,需要两个条件:
1、当前页记录的开始位置、数量
2、记录总数
因此,需要两条sql语句。
1、select 字段1,字段2,from news where type='news1' limit 0,10
2、select count(*) from news where type='news1' limit 0,10
此外,不建议使用楼上的嵌套查询,嵌套查询在数据量大时会造成数据库性能急剧下降。通常写sql语句的准则是拆繁就简,执行两条简单sql语句的效率比执行一条复杂sql语句的效率高很多。

有了记录总数和当前页内容可以算出一共多少页。
参考技术A SELECT 字段1,字段2,(SELECT COUNT(字段1) FROM news WHERE type='news1') FROM news WHERE type='news1' LIMIT 0,10

字段2后面一个就是总的条数,方便你做页码的。
limit 0,10 表示 第一页 ( (页码-1)*单页条数 ),每页有10条
参考技术B 要分页,需要两个条件:
1、当前页记录的开始位置、数量
2、记录总数
因此,需要两条sql语句。
1、select 字段1,字段2,from news where type='news1' limit 0,10
2、select count(*) from news where type='news1' limit 0,10
此外,不建议使用楼上的嵌套查询,嵌套查询在数据量大时会造成数据库性能急剧下降。通常写sql语句的准则是拆繁就简,执行两条简单sql语句的效率比执行一条复杂sql语句的效率高很多。

有了记录总数和当前页内容可以算出一共多少页。 SELECT 字段1,字段2,(SELECT COUNT(字段1) FROM news WHERE type='news1') FROM news WHERE type='news1' LIMIT 0,10

字段2后面一个就是总的条数,方便你做页码的。
limit 0,10 表示 第一页 ( (页码-1)*单页条数 ),每页有10条

用SQL怎样根据一个表种的字段ID查出另一个表中的数据?

参考技术A

    例如:两个表中的news_type_id 跟 type_id是对应的,根据NEWS 表中的 news_type_id =1 查出 news_type 表中的 type_name

    根据 NEWS表中的 news_type_id = 1 查出 news_type表中的 “透明点评” 这条数据,“透明点评”是最后需要查出来的位置数据。

比如表连接的方式就可以写成:
select n.id,t.type_name,title from news as n inner join news_type as t on n.news_type_id=t.type_id;
只查“透明点评”的数据子查询可以写成:
select * from news where news_type_id=(select type_id from news_type where type_name='透明点评');

以上是关于我想在mysql数据库中查询news表中的信息按type类型去查询同时还要分页,这个怎么的主要内容,如果未能解决你的问题,请参考以下文章

mySql插入数据,关于Cannot add or update a child row: a foreign key constraint fails的问题,

T-SQL语句

MYSQL如何查询表中字段类型TYPE=date的字段信息?

按顺序匹配数据

mysql 用一条语句删两张表中的数据

Hbase如何按时间戳排序