SQL-запрос: счетчики и проценты - PullRequest
1 голос
/ 27 октября 2011

У меня есть таблица, где я храню все заказы на товары.Мне нужно подсчитать количество закрытых и неудачных заказов, сгруппированных по дилерам, и месяцы, а также процент неудачных заказов и количество запросов дополнительной информации.

Таблица выглядит следующим образом:

order id | status | dealer_id | month | area | requests
    1      Closed       1         4       N   "extra info"
    2      failed       2         4       S   "extra info"
    3      failed       2         4       S       0

Пример набора результатов будет:

    dealer |  month  |  Total |  % Failed |  Requested info 
       1        4         1         0              0
       2        4         2        100 %           1

1 Ответ

0 голосов
/ 27 октября 2011

Этот запрос, кажется, работает, используя SQLite в Linux:

    SELECT a.dealer_id AS dealer, a.month, COUNT(*) AS total,
            (SELECT COUNT(*)
            FROM orders b
            WHERE b.dealer_id=a.dealer_id
            AND b.month=a.month
            AND b.status!='Closed')*100/COUNT(*) AS failed
    FROM orders a
    GROUP BY a.dealer_id, a.month;

Пожалуйста, проверьте, работает ли он для ваших требований и оставьте отзыв!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...