Как я могу объединить эти два запроса в один? - PullRequest
2 голосов
/ 16 февраля 2011
$a = mysql_query("SELECT COUNT(*) as `count_1` FROM `table_1` WHERE `this_1` = '1'");
$b = mysql_fetch_assoc($a);

$c = mysql_query("SELECT COUNT(*) as `count_2` FROM `table_1` WHERE `this_2` = '1'");
$d = mysql_fetch_assoc($c);

Ответы [ 2 ]

3 голосов
/ 16 февраля 2011

Используйте UNION ALL, чтобы сделать один запрос:

SELECT COUNT(*) as count_1 FROM table_1 WHERE this_1 = '1'
UNION ALL
SELECT COUNT(*) as count_2 FROM table_1 WHERE this_2 = '1'

Так что это приведет к

$a = mysql_query("...the complete query from above...");
2 голосов
/ 16 февраля 2011

Вы можете использовать условие внутри СЧЕТА () для подсчета случаев. Таким образом, вы получите одну строку с несколькими столбцами:

SELECT COUNT(this_1 = '1' OR NULL) AS count_1, COUNT(this_2 = '1' OR NULL) AS count_2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...