테이블에있는 행 수를 알고 싶습니다. 내가 사용하고있는 데이터베이스는 MySQL 데이터베이스입니다. 나는 이미 fetchAll()
과 같은 호출에 사용하고있는 Db_Table 클래스가 있습니다. 하지만 테이블에서 나온 정보는 필요하지 않습니다. 단지 행 수입니다. fetchAll()
을 호출하지 않고 테이블의 모든 행을 어떻게 계산합니까?Zend_Db : 테이블에서 행 수를 얻는 방법?
답변
$count = $db->fetchOne('SELECT COUNT(*) AS count FROM yourTable');
당신은 유해한 것으로 간주 fetchAll
와
SELECT COUNT(*)
FROM your_table
$dbo->setFetchMode(Zend_Db::FETCH_OBJ);
$sql = 'SELECT COUNT(*) AS count FROM @table';
$res = $dbo->fetchAll($sql);
// $res[0]->count contains the number of rows
계산 행을 할 수 있습니다.
public function count()
{
return (int) $this->_table->getAdapter()->fetchOne(
$this->_table->select()->from($this->_table, 'COUNT(id)')
);
}
왜 "fetchAll을 사용하여 행 계산이 위험하다고 생각하십니까?" – Andrew
글쎄, 전체 테이블을 메모리에로드하는 중입니다 ... –
추가 카운트 기능 :
는 여기에게 Zend_Db_Select 방법을 수행하는 방법 이렇게 :
$sql = $table->select()->columns(array('name', 'email', 'status'))->where('status = 1')->order('name');
$data = $table->fetchAll($sql);
$sql->reset('columns')->columns(new Zend_Db_Expr('COUNT(*)'));
$count = $table->getAdapter()->fetchOne($sql);
이것이 Zend_Paginator에서 어떻게 이루어 졌는지입니다. 다른 옵션은 열 목록 전에 SQL_CALC_FOUND_ROWS
을 추가 한 다음이 쿼리에 발견 행의 수를 얻을 수 있습니다 :
$count = $this->getAdapter()->fetchOne('SELECT FOUND_ROWS()');
필터링과 작동하지 않습니다 - 내 대답 참조 ... –
다시 읽으십시오. 질문은 필터링에 관한 것이 아닙니다! –
아. 죄송합니다 : (당신이 대답을 편집한다면 (싱글 캐릭터는 할 것입니다) 나는 downvote를 되돌릴 수있을 것입니다 ... :) –
적절한 젠드 - 웨이 Zend_Db_Select를 사용하는 모든 테이블 행을 계산하기 위해 당신의 Zend_DB 개체에
$habits_table = new Habits(); /* @var $habits_table Zend_Db_Table_Abstract */
$select = $habits_table->select();
$select->from($habits_table->info(Habits::NAME), 'count(*) as COUNT');
$result = $habits_table->fetchRow($select);
print_r($result['COUNT']);die;
$ table이란 무엇입니까? –
그것은 Zend_Db_Table 인스턴스입니다. 아니면 Zend_Db_Adapter가 될 수도 있습니다. 대도시는 둘 다에 있습니다. DbTable에 대한 Zend_Db_Table_Rowset 및 Adapter에 대한 배열을 반환합니다. –
이 대답은 원래 결과 집합을 잃어버린 인위적인 쿼리의 결과를 계산해야하는 경우에 특히 유용합니다. +1 – nzn
나는 미니멀의 종류 해요 :
public function count()
{
$rows = $db->select()->from($db, 'count(*) as amt')->query()->fetchAll();
return($rows[0]['amt']);
}
가 모두 일반적으로 사용할 수 있습니다 테이블.
- 1. UITableView에서 행 수를 얻는 방법
- 2. NpgsqlDataReader에서 행 수를 얻는 방법
- 3. 보조 테이블에서 고유 한 행 수를 얻는 방법
- 4. jqGrid에 대한 행 수를 얻는 방법?
- 5. sqlalchemy에서 영향을받은 행 수를 얻는 방법?
- 6. 특정 조건에 대한 행 수를 얻는 방법
- 7. iPhone 앱의 UITableView - 행 수를 얻는 방법
- 8. 하위 쿼리의 다른 테이블에서 특정 행의 수를 얻는 방법
- 9. Sqlite3 모든 행을 읽지 않고 테이블의 행 수를 얻는 방법?
- 10. 단일 테이블의 테이블에서 레코드 수를 얻는 방법 (멀티 테이블 타이밍)
- 11. 바이트 수를 얻는 방법
- 12. jquery를 사용하여 그리드가로드되기 전에 행 수를 얻는 방법
- 13. 모든 행을 선택하지 않고 행 수를 얻는 방법?
- 14. 행 수를 계산하고 표시하는 방법
- 15. JasperReports의 행 수를 제어하는 방법
- 16. zend_db
- 17. Zend_Db 객체에 Rows 속성이 있습니까?
- 18. MySQL에서 스캔 한 행 수를 줄이는 방법
- 19. iText로 회선 수를 얻는 방법
- 20. Datagrid에서 항목 수를 얻는 방법
- 21. facebook에서 사람들의 수를 얻는 방법
- 22. repeter에서 열 수를 얻는 방법
- 23. C#에서 표의 행 및 열 수를 얻는 방법은 무엇입니까?
- 24. 테이블에서 증가 값을 얻는 방법
- 25. PHP의 mysql 테이블에서 총 레코드를 얻는 가장 빠른 방법
- 26. ELF의 기호 테이블에서 항목 수를 얻는 방법은 무엇입니까?
- 27. Drupal - 행 합계를 얻는 방법
- 28. Excel에서 64k 행 제한을 얻는 방법
- 29. 텍스트 파일의 행 수를
- 30. 1 행 테이블에서 벡터를 변환하는 방법
fetchRow 대신 fetchOne을 +1합니다. –