Возможен ли такой запрос в базу?

Ссылка скопирована
1 ответ

Есть таблица с комментариями и оценкой(цифра от 1 до 5), возможно ли сформировать запрос чтобы вернуло массив или коллекцию в ключ цифру оценки, а в значение количество коментов с этой отметкой, если нет, подскажите как можно реализовать, пишу на php, Фреймворк Laravel.

Дополнительно:

Какие у вас модели, связи, таблицы? Где техническая информация, кроме ваших хотелок?

  • Сергей delphinpro, да черт с этими таблицами - что за БД хотя бы?
  • Сергей Соловьев, MySQL
  • Сергей delphinpro, Это все в одной таблице, review, Модель соответственно Review
    '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 надо создать индекс.
    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Алексей Денисов Ответ

    Да, возможно выполнить запрос к базе данных с использованием языка программирования 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-&gt;close();
    ?&gt;

    connect_error) { die("Connection failed: " . $conn-&gt;connect_error); } // SQL запрос $sql = "SELECT * FROM table_name"; $result = $conn-&gt;query($sql); // Обработка результатов if ($result-&gt;num_rows &gt; 0) { while($row = $result-&gt;fetch_assoc()) { echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>"; } } else { echo "0 results"; } $conn-&gt;close(); ?&gt;

    В данном примере мы подключаемся к базе данных, выполняем SQL запрос SELECT для выборки данных из таблицы "table_name" и выводим результаты на экран. Пожалуйста, замените "localhost", "username", "password", "database" и "table_name" на актуальные значения для вашей базы данных.

    Не забудьте также обезопасить ваш код от SQL инъекций, используя подготовленные запросы или экранирование данных перед выполнением запроса.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно