Ответ 1
SELECT COUNT(*), trip_date , shop_id
FROM trips
GROUP BY trip_date , shop_id
Я пытаюсь выяснить правильный синтаксис для получения результата запроса, который мне нужен. Вот сценарий:
Я разрабатываю приложение SaaS и имею таблицу, называемую поездками, например:
table.trips
- trip_id (pk, ai)
- client_id (fk)
- shop_id (fk)
- trip_date (date)
Мне нужно иметь возможность получать количество поездок в таблице за каждый день (по shop_id), а затем доставлять количество TRIPS на trip_date, например:
DATE | TRIP SUM
--------------------------
01-01-2011 | 3
01-02-2011 | 2
01-03-2011 | 5
Любые мысли о правильном синтаксисе?
SELECT COUNT(*), trip_date , shop_id
FROM trips
GROUP BY trip_date , shop_id
Что-то вроде этого?
select
DATE(trip_date) as [DATE],
count(1) as [TRIP SUM]
from
trips
group by
DATE(trip_date), shop_id
Я не парень mySQL, но вам нужно использовать эквивалент DatePart T-SQL, где я использовал функцию DATE()
, чтобы удалить временную часть даты.
SELECT shop_id, trip_date, count(trip_id)
FROM trips
GROUP BY shop_id, trip_date
select trip_date,count(*)
from trips
where shop_id=[the shop id]
group by trip_date
Это будет работать до тех пор, пока дата указана в формате, который вы указали. Если у него есть время, вам нужно удалить время.
Также я не знаю, должен ли client_id войти в этот запрос, если вам нужно группировать его, тогда вы должны поместить его вдоль side trip_date на select или group. Если вы хотите отфильтровать по нему, поместите его туда, где.