Вы должны включить в group by
только те строки, которые вы хотите в наборе результатов.Итак, если вы хотите считать дни за RegisterNumber
, вы должны использовать:
SELECT RegisterNumber, COUNT(DISTINCT StartDate)
FROM `SAMPLE.csv`
WHERE MaintenanceFlightTime > 0
GROUP BY RegisterNumber ;
Если вы хотите посчитать различные комбинации даты и времени, то некоторые базы данных позволяют вам использовать COUNT(DISTINCT)
с несколькимиАргументы:
SELECT RegisterNumber, COUNT(DISTINCT StartDate, StartTime)
FROM `SAMPLE.csv`
WHERE MaintenanceFlightTime > 0
GROUP BY RegisterNumber ;
В других случаях вам потребуется использовать функции конкатенации строк или функции даты / времени, чтобы объединить значения в один столбец.В крайнем случае, вы также можете использовать подзапрос:
SELECT RegisterNumber, COUNT(*)
FROM (SELECT DISTINCT RegisterNumber, StartDate, StartTime
FROM `SAMPLE.csv`
WHERE MaintenanceFlightTime > 0
) s
GROUP BY RegisterNumber ;