Получить количество заказов - MySQL
Формулировка задачи:
Всем привет. Пытаюсь посчитать количество заказов и количество товаров в заказе(с количеством товаров получилось), но вот с количеством заказов ни как. Вот сам запрос из PHPmyadmin
Вот что выдает мне PHPMYADMIN
Вот в базе эти заказы
См. скриншот 1
Получить мне нужно в итоге
SELECT A.id, B.order_id, B.amount, COUNT( B.order_id ) AS orderscount, SUM( B.amount ) AS amount FROM `test.local`.`xokq_order` AS A INNER JOIN `test.local`.`xokq_order_items` AS B ON A.id = B.order_id WHERE ( `A`.`site_id` = '1' ) AND `A`.`status` = '1' AND ( `B`.`type` = 'product' ) GROUP BY B.order_id ORDER BY dateof DESC LIMIT 0 , 30
| id order_id amount orderscount amount |
| 8625 8625 1 2 2 |
| 8620 8620 1 3 4 |
| 8617 8617 1 2 2 |
orderscount = 3
. Как подправить запрос?Решение задачи: «Получить количество заказов»
textual
Листинг программы
SELECT A.id, B.order_id, B.amount, COUNT(id) AS orderscount, SUM(B.amount) AS amount FROM `test.local`.`xokq_order` AS A INNER JOIN `test.local`.`xokq_order_items` AS B ON A.id=B.order_id WHERE (`A`.`site_id` = '1') AND `A`.`status` = '2' AND (`B`.`type` = 'product') ORDER BY dateof DESC
Объяснение кода листинга программы
Код написан на SQL и выполняет запрос к двум таблицам базы данных: xokq_order и xokq_order_items. Результатом запроса является список заказов, отсортированный по дате в порядке убывания. В списке выводятся следующие поля:
A.id- идентификатор заказаB.order_id- идентификатор элемента заказаB.amount- количество товара в заказеCOUNT(id)- количество заказовSUM(B.amount)- сумма всех заказов Также в запросе используются условия для фильтрации результатов:A.site_id= '1' - выбираются только заказы с определенным значением идентификатора сайтаA.status= '2' - выбираются только заказы со статусом '2'B.type= 'product' - выбираются только элементы заказа, которые относятся к товарам Полученный результат будет содержать список заказов, отсортированных по дате в порядке убывания, а также информацию о количестве заказов и общей сумме всех заказов.