Посчитать количество записей в нескольких таблицах одним запросом (MySQLi)
29.03.2017 05:39:20 pm
Здравствуйте.
Сегодня стояла задача посчитать количество записей в нескольких таблицах, сделать это надо было выполнив всего один запрос. В моем случаи, было три таблицы ads, sites и users, в таблице ads надо считать не все подряд, а только те, что имеют статус well. Делаю так:
Выполнив запрос получаю массив (php):
Массив можно использовать так:
Сегодня стояла задача посчитать количество записей в нескольких таблицах, сделать это надо было выполнив всего один запрос. В моем случаи, было три таблицы ads, sites и users, в таблице ads надо считать не все подряд, а только те, что имеют статус well. Делаю так:
$sql = 'SELECT
(SELECT COUNT(*) FROM ads WHERE status = \'well\') AS ads,
(SELECT COUNT(*) FROM sites) AS sites,
(SELECT COUNT(*) FROM users) AS users';
Выполнив запрос получаю массив (php):
$result = $this->db->query($sql);
$count = $result->fetch_array(MYSQLI_ASSOC);
Массив можно использовать так:
$count['ads'] # Количество записей таблицы ads
$count['sites'] # Количество записей таблицы sites
$count['users'] # Количество записей таблицы users
- Жалоба