Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

सिद्धांत 2 . में पंक्तियों की संख्या

यदि आप केवल MySQL का उपयोग कर रहे हैं, तो आप इसके FOUND_ROWS() समारोह।

इसके लिए मूल प्रश्नों का उपयोग करने की आवश्यकता होगी, जो संभवतः MySQL के अलावा किसी अन्य डीबी का उपयोग करने की आपकी क्षमता में बाधा डालेगा, लेकिन यह मेरे अनुभव में काफी अच्छा काम करता है।

मैंने बड़ी सफलता के साथ निम्न की तरह कुछ उपयोग किया है।

use Doctrine\ORM\Query\ResultSetMapping;

public function getRecentComments($offset, $id) {
    $sql = "SELECT SQL_CALC_FOUND_ROWS * FROM Comment c 
        WHERE c.game = ?
        ORDER BY c.date DESC
        LIMIT ?,3";
    $rsm = new ResultSetMapping();
    $rsm->addEntityResult('Comment', 'c');
    $rsm->addFieldResult('c', 'id', 'id');
    $rsm->addFieldResult('c', 'game_id', 'game_id');
    $rsm->addFieldResult('c', 'date', 'date');
    $query = $this->getEntityManager()->createNativeQuery($dql, $rsm);
    $query->setParameters(array(
      (int)$id,
      (int)$offset
    ));
    $results = $query->getResult();

    // Run FOUND_ROWS query and add to results array
    $sql = 'SELECT FOUND_ROWS() AS foundRows';
    $rsm = new ResultSetMapping();
    $rsm->addScalarResult('foundRows', 'foundRows');
    $query = $this->getEntityManager()->createNativeQuery($sql, $rsm);
    $foundRows = $query->getResult();
    $results['foundRows'] = $foundRows[0]['foundRows'];

    return $results;
}

उपरोक्त फ़ंक्शन से परिणाम सरणी प्राप्त करने के बाद, मैं 'foundRows' तत्व को एक अलग चर में निकालता हूं, इसे अनसेट करता हूं (यानी, unset($results['foundRows']) ), और फिर सामान्य रूप से सरणी का उपयोग जारी रखें।

आशा है कि यह मदद करता है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक सूचकांक क्या है?

  2. डेनो और ओक के साथ MySQL का उपयोग कैसे करें

  3. SQL समूह के nवें सदस्य का चयन करें

  4. MySQL के माध्यम से वर्डप्रेस में सभी श्रेणियों के साथ सभी पोस्ट कैसे प्राप्त करें?

  5. mysql में एक ही तालिका में पंक्तियों की तुलना करें