【问题标题】:How can i get in between rows in mysql query我怎样才能进入mysql查询中的行之间
【发布时间】:2010-02-04 20:14:37
【问题描述】:

我想从数据库中获取中间行。

就像最后 10 行一样,我将使用限制:

    return Doctrine_Query::create()
                ->select('v.*')
                ->from('Video v')                   
                ->where("v.community_id='$community_id' AND v.user_id='$user_id' AND v.published='$published'")
                ->orderBy('v.id DESC')
                ->limit(10)
                ->execute();        

但是如果我想要 110-120 行怎么办?有人可以告诉我吗?如何在学说中编写这种查询

【问题讨论】:

    标签: mysql doctrine dql


    【解决方案1】:

    使用offset() 子句。

    【讨论】:

    • 比使用寻呼机容易得多
    【解决方案2】:

    可以使用Doctrine_Pager

    $page = 10;
    $limit = 10;
    $query = Doctrine_Query::create()
            ->select('t.*')
            ->from('SomeTable t')
    
    $pager = new Doctrine_Pager(
        $query,
        $page,
        $limit
    );
    
    $rows = $pager->execute();
    

    【讨论】:

      【解决方案3】:

      对于第 110-120 行,您需要

      LIMIT 109, 10
      

      【讨论】:

        【解决方案4】:

        使用偏移子句...chk dis

        【讨论】:

        • 为什么在多人给出相同答案六天后,你又接受了自己的答案?
        猜你喜欢
        • 1970-01-01
        • 2016-07-24
        • 2023-01-03
        • 2018-11-29
        • 2019-08-06
        • 1970-01-01
        • 1970-01-01
        • 2021-08-01
        • 1970-01-01
        相关资源
        最近更新 更多