Как найти среднее значение в столбце дат в SQL Server

sql sql-server

35716 просмотра

2 ответа

1361 Репутация автора

У меня есть таблица из 5000 записей со столбцом даты.

Как мне найти среднее из тех дат. Я пытался AVG(datefield), но это говоритOperand data type datetime is invalid for avg operator

Автор: aSystemOverload Источник Размещён: 23.10.2012 01:43

Ответы (2)


6 плюса

28042 Репутация автора

CONVERT(DATETIME, AVG(CONVERT(FLOAT, datefield))) as [AverageDate] 
Автор: LittleBobbyTables Размещён: 23.10.2012 01:47

24 плюса

9708 Репутация автора

Решение

Если вы хотите усреднить дату только:

SELECT CAST(AVG(CAST(datefield AS INT)) AS DATETIME) FROM dates;

И если вы хотите учитывать время:

SELECT CAST(AVG(CAST(datefield AS FLOAT)) AS DATETIME) FROM dates;

Смотрите скрипку, чтобы проверить.

Автор: Francis P Размещён: 23.10.2012 01:50
Вопросы из категории :
32x32