Как в sql посчитать количество повторяющихся значений
Можно попробовать использовать функцию COUNT()
в сочетании с оператором GROUP BY
.
Предположим, у нас есть таблица "orders" с колонками "customer_name"
и "order_date"
, и мы хотим посчитать, сколько заказов было сделано каждым клиентом. Мы можем написать следующий SQL-запрос:
SELECT customer_name, COUNT(*) as order_count
FROM orders
GROUP BY customer_name
Этот запрос выберет все уникальные значения из колонки "customer_name"
в таблице "orders"
и подсчитает количество строк, связанных с каждым уникальным значением. Результатом запроса будет таблица со столбцами "customer_name"
и "order_count"
, в которой каждая строка будет показывать клиента и количество его заказов.
запрос работает в бд, но не выводит информацию на сайт php
как его правильно вывести?
я пробовала такой код:
<?php session_start(); ?> <?php $db = new PDO("mysql: host=localhost; dbname=les", "root", ""); $info = []; if ($query = $db->query("SELECT Name, COUNT(*) as order_count FROM favorit GROUP BY Name")) {
} ?>
<h2 align="center" face="KyivType Sans"> Статистика рецептов </h2>
<table class="table" border="1" align="center" bgcolor="#FFFFF0" style="color:rgb(72,31,1);width:100%"> <tr align="center"> <td> Название рецепта </td> <td> Количество сохранений</td> </tr> <tr> <?php foreach ($info as $data): ?> <td><?= $data['Name']?></td> <td align="center"><?= $data['order_count']?></td> </tr> <?php endforeach;?> </table>