Я разбираю команду SQL
на запрос mysqli
. Я хотел бы получить количество записей с различными условиями. В настоящее время я делаю это с union
, но он очень медленный. Есть ли более эффективный способ сделать это?Получить счетчик с различными условиями
$sql = "SELECT COUNT(*) as Total FROM table1 WHERE GroupId = 2 UNION ";
$sql .= "SELECT COUNT(*) as Likes FROM table1 WHERE LikesCol IS NOT NULL AND GroupId = 2 UNION ";
$sql .= "SELECT COUNT(*) as Commented FROM table1 WHERE CommentCol > 0 AND GroupId = 2 UNION ";
$sql .= "SELECT COUNT(*) as Shared FROM table1 WHERE SharedCol > 0 AND GroupId = 2";
Как можно заметить, я выбрать все записи из таблицы, где GroupId = 2
то я свертывание кто разделяемой и комментировал и т.д.
У вас есть индекс на GroupId? –