Возможен ли такой запрос в базу?
Есть таблица с комментариями и оценкой(цифра от 1 до 5), возможно ли сформировать запрос чтобы вернуло массив или коллекцию в ключ цифру оценки, а в значение количество коментов с этой отметкой, если нет, подскажите как можно реализовать, пишу на php, Фреймворк Laravel.
Дополнительно:
Какие у вас модели, связи, таблицы? Где техническая информация, кроме ваших хотелок?
'review',
'user_name',
'evaluation'
- CREATE TABLE таблицы
- INSERT INTO с данными (5-10 записей)
- требуемый результат для этих данных, с пояснениями
- точную версию MySQL
PS. По-моему, нужен самый что ни на есть вульгарный GROUP BY + COUNT(), основы основ агрегации.
DB::table('review') ->selectRaw('evaluation, count(evaluation) as cnt') ->groupBy('evaluation') ->get() ->pluck('cnt', 'evaluation') ->toArray(); |
DB::table('review') ->selectRaw('evaluation, count(evaluation) as cnt') ->groupBy('evaluation') ->get() ->pluck('cnt', 'evaluation') ->toArray();
Таблица точно review, а не reviews?
- да, наверное правильно называть в мн числе? спасибо за помощь
- SashaZhukov, Да, правильно во множественном.
- YepBro, хорошо, спасибо
- SashaZhukov, Если в таблице будет много записей, то по полю evaluation надо создать индекс.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Да, возможно выполнить запрос к базе данных с использованием языка программирования PHP. Для этого необходимо подключиться к базе данных, выполнить SQL запрос и обработать результат.
Пример кода на PHP для выполнения запроса к базе данных:
connect_error) { die("Connection failed: " . $conn->connect_error); } // SQL запрос $sql = "SELECT * FROM table_name"; $result = $conn->query($sql); // Обработка результатов if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>"; } } else { echo "0 results"; } $conn->close(); ?>
В данном примере мы подключаемся к базе данных, выполняем SQL запрос SELECT для выборки данных из таблицы "table_name" и выводим результаты на экран. Пожалуйста, замените "localhost", "username", "password", "database" и "table_name" на актуальные значения для вашей базы данных.
Не забудьте также обезопасить ваш код от SQL инъекций, используя подготовленные запросы или экранирование данных перед выполнением запроса.