Forked from evgv/mage_get_select_count_sql_distinct.md
          
        
    
          Created
          January 30, 2018 09:30 
        
      - 
      
 - 
        
Save PorraphitChuasuk/81faeff4d7d04a1e958dd343c7146ed8 to your computer and use it in GitHub Desktop.  
Revisions
- 
        
evgv created this gist
Jun 28, 2016 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,30 @@ ```php /** * Get SQL for get record count * * Rewrited for GROUP_BY * @return Varien_Db_Select */ public function getSelectCountSql() { $this->_renderFilters(); $countSelect = clone $this->getSelect(); $countSelect->reset(Zend_Db_Select::ORDER); $countSelect->reset(Zend_Db_Select::LIMIT_COUNT); $countSelect->reset(Zend_Db_Select::LIMIT_OFFSET); $countSelect->reset(Zend_Db_Select::COLUMNS); // Count doesn't work with group by columns keep the group by if(count($this->getSelect()->getPart(Zend_Db_Select::GROUP)) > 0) { $countSelect->reset(Zend_Db_Select::GROUP); $countSelect->distinct(true); $group = $this->getSelect()->getPart(Zend_Db_Select::GROUP); $countSelect->columns("COUNT(DISTINCT ".implode(", ", $group).")"); } else { $countSelect->columns('COUNT(*)'); } return $countSelect; } ```