Подсчет строки по текущему столбцу и времени

0

У меня проблема с запросом. Я хочу посчитать появление определенной фразы в данном столбце в определенное время.

Это моя таблица:

CREATE TABLE 'table' (
  'id' int(11) NOT NULL,
  'prodId' int(11) NOT NULL,
  'bookingAt' datetime NOT NULL,
  'equipmentType' varchar(30) NOT NULL,
  'shippingAt' datetime DEFAULT NULL
)

У меня есть рабочий запрос, проверяющий количество поступления инвентаря:

SELECT g1.equipmentType,COUNT(*) as count FROM table g1
WHERE g1.shippingAt IS NULL AND 
g1.bookingAt BETWEEN :from AND :to GROUP BY g1.equipmentType

Но я не знаю, как построить запрос для отправленных продуктов: (Пример данных в таблице:

INSERT INTO 'table' ('id', 'prodId', 'bookingAt', 'equipmentType', 'shippingAt') VALUES
(1, 9911199, '2018-04-05 09:30:03', 'Type1','2018-04-05 14:00:00'),
(2, 9911100, '2018-04-05 08:00:00', 'Type1','2018-04-05 14:10:00'),
(3, 1234563, '2018-04-05 10:05:40', 'Type2', NULL);

Рабочий результат (заказ) с моим запросом:

array [
  0 => array [
    "equipmentType" => "Type2"
    "count" => "1"
  ]

Ожидаемый результат (отгрузка):

array [
  0 => array [
    "equipmentType" => "Type1"
    "count" => "2"
  ]
  • 0
    предоставьте нам пример данных и ожидаемый результат.
  • 0
    нет ли таблицы продуктов?
Показать ещё 1 комментарий
Теги:

1 ответ

0
Лучший ответ

Добавление "НЕ" к тесту на NULL при отправке. Это даст вам отгруженные продукты.

SELECT g1.equipmentType,COUNT(*) as count 
FROM table g1
WHERE g1.shippingAt IS NOT NULL 
AND g1.bookingAt BETWEEN :from AND :to 
GROUP BY g1.equipmentType;

Этот запрос основан на таблице и данных, которые вы указали, но как это относится к названию, или то, что вы задавали в начале вопроса, является загадкой.

  • 0
    К сожалению, этот запрос не возвращает результат :(
  • 0
    Это происходит, если вы вводите даты, которые соответствуют предоставленным вами данным. Попробуйте sqlfiddle.com/#!9/232fc0/2
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню