Я пытаюсь получить общее количество строк, найденных для конкретного запроса, когда применяется LIMIT. Я успешно нашел ответ в PHP/MySQL, но я не могу преобразовать логику в Zend/Doctrine. Я работаю с Doctrine 2.3/Zend 1.12.Doctrine Query, чтобы найти общее количество результатов в MySQL с LIMIT
Я не хочу использовать два различных запросов, чтобы найти результат:
PHP КОД:
<?php
$con = mysql_connect('localhost', 'root', '');
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("myproject", $con);
$sql = "SELECT SQL_CALC_FOUND_ROWS * FROM `user` WHERE `user_country`='us' LIMIT 10";
$result = mysql_query($sql);
$sql = "SELECT FOUND_ROWS() AS `found_rows`;";
$rows = mysql_query($sql);
$rows = mysql_fetch_assoc($rows);
$total_rows = $rows['found_rows'];
echo $total_rows;
?>
Также я попробовал Следуя MySQL Query:
Try с Союзом:
SELECT COUNT(*) FROM `user` WHERE `user_country` = 'US'
UNION SELECT `user_id` FROM `user` WHERE `user_country` = 'US' LIMIT 10;
Try с Select:
SELECT *,(SELECT COUNT(*) from `user` where `user_country`='US') as Count
from `user` where `user_country`='US' LIMIT 10;
И выше попытка занимает много времени для графа():
Может кто-нибудь помочь мне найти решение ..
Доктрина:
$qry = $this->manager()->createQueryBuilder()
->from($this->entity, 'e')
->select('e');
$qry->where('e.user_country = :country');
$qry->setParameter('country', 'us');
$limit='10';
$qry->setMaxResults($limit);
Как я могу преобразовать вышеприведенный код доктрины как-то вроде вышеуказанного результата PHP-запроса? Является ли это возможным?
насчет лимита в запросе? – TomPHP
Мой вопрос: как я могу получить общее количество записей, а также ограничить в одном запросе .. Ваш запрос дает мне LIMIT. Я хочу один запрос, который сообщает общее количество счетчиков и ограничивает вывод. Как я упоминал выше .. либо это может быть два запроса, но он не должен запускать тот же запрос снова и снова .. – TomPHP
do u want count() и limit() в одном запросе? – Napster