Mam taką tabelę:
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 ) 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);
Próbuję zliczyć wszystkie występowania wartości w kolumnie `equipmentType` (w tym przykładzie to: Type1 oraz Type2) w określonym odstępie czasu. Dla produktów, które dotarły do magazynu. Oraz te które go opuściły. Do zliczenia tych przychodzących napisałem takie proste zapytanie:
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
Dzięki niemu uzyskuję taki wynik:
array [ "equipmentType" => "Type2" "count" => "1" ]
Mam za to problem jak uzyskać taki rezultat dla produktów wysłanych.W tym przypadku filtrem daty musiałby być `shippingAt`. Ale za groma nie wiem jak się za to zabrać

Może mi ktoś dopomóc?