yii2 oracle 原生sql分页

   $sql_list = "SELECT ID, FID, INSID,
                FLIGHTNO, DEPNAME, ARRNAME,
                to_char(DEPDATE,‘yyyy-MM-dd HH24:mi‘) as DEPDATE,
                CHECKID,CERTNAME,CERTTYPE, CERTNO, MOBILE, PRODUCTNAME, PRICE, TOTAL,
                ETN,
                DEP,ARR,
                PAYSTATUS,OSTATUS,
                to_char(CREATE_TIME,‘yyyy-MM-dd HH24:mi‘) as CREATE_TIME FROM wx_checkin_insure
                where 1=1 and {$time_condition} {$condition_sql}";
        $dataProvider = new SqlDataProvider([
            ‘sql‘ => $sql_list,
            ‘params‘ => [‘:status‘ => 1],
            ‘totalCount‘ => $total,
            ‘sort‘ => [
                ‘attributes‘ => [
                    ‘age‘,
                    ‘name‘ => [
                        ‘desc‘ => [‘CREATE_TIME‘ => SORT_DESC],
                    ],
                ],
            ],
            ‘pagination‘ => [
                ‘defaultPageSize‘ => $limit,
                ‘totalCount‘      => $total
            ],
        ]);
        $dataProvider->getPagination()->setPage(2);
        $this->_data[‘offset‘] = $dataProvider->getPagination()->offset;
        $litst = $dataProvider->getModels();

        $this->_data[‘page_data‘]  = $litst; // 分页数据
        $this->_data[‘page_total‘] = $dataProvider->getPagination()->getPageCount(); // 总共页数
        $this->_data[‘page‘]       = $page;
        $this->_data[‘limit‘] = $limit;

  

原文地址:https://www.cnblogs.com/achengmu/p/11700025.html

时间: 2024-11-05 18:57:02

yii2 oracle 原生sql分页的相关文章

YII2原生SQL分页支持排序搜索

YII2默认情况下会生成一个直接操作单表的模型并且具备搜索和分页以及排序功能,在很多复杂的业务逻辑需求中,单表操作很难实现我们想要的效果,此时我要是选择的话就用纯sql来做,不用考虑那么多的对应关系,而且你得SQL语句执行效率越高,程序执行的效率也就越高. OK我们来看看怎么实现. 一.首先我们来看一个需求:在一个博客的首页中,需要显示博客列表,列表中(作者,文章标题,发表时间,文章分类,评论数量)需要显示. 二.建表 yii_article(文章):[id,title,publish_time

二十六、oracle pl/sql 分页

一.无返回值的存储过程 古人云:欲速则不达,为了让大家伙比较容易接受分页过程编写,我还是从简单到复杂,循序渐进的给大家讲解.首先是掌握最简单的存储过程,无返回值的存储过程. 案例:现有一张表book,表结构如下:书号.书名.出版社. CREATE TABLE book( ID NUMBER(4), book_name VARCHAR2(30), publishing VARCHAR2(30)); 请写一个过程,可以向book表添加书,要求通过java程序调用该过程. --注意:in->表示这是一

oracle pl/sql 分页

一.无返回值的存储过程 古人云:欲速则不达,为了让大家伙比较容易接受分页过程编写,我还是从简单到复杂,循序渐进的给大家讲解.首先是掌握最简单的存储过程,无返回值的存储过程. 案例:现有一张表book,表结构如下:书号.书名.出版社. CREATE TABLE book( ID NUMBER(4), book_name VARCHAR2(30), publishing VARCHAR2(30)); 请写一个过程,可以向book表添加书,要求通过java程序调用该过程. --注意:in->表示这是一

[oracle]pl/sql --分页过程demo

这句sql能够用来查询一张表中的特定位置的记录 --查询的方法获取分页的语句 select *from (select t1.*,rownum rn from (select *from books) t1 where rownum<=4) where rn >2; --使用分页写存储过程 --1 首先要创建一个包,定义游标类型 create or replace package fenyepackage as type fenye_cursor is ref cursor; end feny

yii2之原生sql

只是两个使用例子,从别处摘来的,留着后面参考: 方式一: 1 $connection = Yii::$app->db; 2 $sql = "select * from hd_article where aid<".$aid." order by aid desc limit 1"; 3 $command = $connection->createCommand($sql); 4 $res = $command->queryAll($sql);

MySQL、Oracle和SQL Server的分页查询语句

原文地址:http://www.cnblogs.com/ginponson/p/5746435.html 假设当前是第PageNo页,每页有PageSize条记录,现在分别用Mysql.Oracle和SQL Server分页查询student表. 1.Mysql的分页查询 SELECT * FROM student LIMIT (PageNo - 1) * PageSize,PageSize; 理解:(Limit n,m)  =>从第n行开始取m条记录,n从0开始算. 2.Oracel的分页查询

Oracle数据库查询分页SQL语句

Oracle数据库查询分页数据SQL语句: select * from (select a.*,rownum row_num from (select * from mytable t order by t.id desc) a ) b where b.row_num between 1 and 10

oracle sql 分页

Oracle实现分页时,需要引入一个rownum的函数,rownum可以给记录一个类似于id的字段. 以下收整理了常用的几种sql分页算法,数据库以Oracle中emp为例.查询结果如下: SQL> select * from emp; EMPNO ENAME      JOB         MGR HIREDATE          SAL      COMM DEPTNO ----- ---------- --------- ----- ----------- --------- ----

ORACLE中用rownum分页并排序的SQL语句

ORACLE中用rownum分页并排序的SQL语句 以前分页习惯用这样的SQL语句: select * from (select t.*,rownum row_num from mytable t order by t.id) b where b.row_num between 1 and 10 结果发现由于该语句会先生成rownum 后执行order by 子句,因而排序结果根本不对,后来在GOOGLE上搜到一篇文章,原来多套一层select 就能很好的解决该问题,特此记录,语句如下: sel