|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
14.07.2016, 15:19 | #1 |
Регистрация: 14.07.2016
Сообщений: 5
|
Преобразование дат в SQL
Здравствуйте, имеется таблица. В ней указаны номера, с которых осуществлялся вызов, дата и длительность вызова. Необходимо сгруппировать данные, чтобы собиралась статистика за каждый день. Например,
Исходный вариант: Телефон Дата .........Длительность ................................... 123...01.01.16 16:21......38 ................................... 123...01.01.16 17:15......15 ................................... 123...02.01.16 11:11......27 ................................... 124...01.01.16 10:20......2 ................................... 124...30.01.16 19:15......0 ................................... 124...30.01.16 20:15......7 Нужно: ................................... .123...01.01.16......53 ................................... .123...02.01.16......27 ................................... .124...01.01.16......2 ................................... .124...30.01.16......7 Т.е нужно, чтобы он суммировал длительности вызовов с каждого номера за день и выдавал статистику, еще не плохо было бы указать кол-во звонков в день с каждого номера, но это потом. Пробовал вот так: SELECT NUMTEL, DATEPART("d", DATECALL), TIMECALL FROM Лист1 GROUP BY NUMTEL, DATEPART("d", DATECALL); Но результат не тот |
14.07.2016, 15:24 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
SUM(TIMECALL) пробовал?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
14.07.2016, 15:30 | #3 |
Регистрация: 14.07.2016
Сообщений: 5
|
Сейчас попробовал, он не дату выдает в нормальном формате, а просто число ( без месяца и года)
|
14.07.2016, 15:43 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Я имел ввиду длительность просуммировать . Она же число минут у тебя? А функции для выделения даты из даты-времени нет. В MS SQL можно так например dateadd(day,0,datediff(day,0,DATECA LL)) или CAST(DATECALL AS date) в современных версиях. В каждой СУБД по своему
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
14.07.2016, 16:03 | #5 |
Регистрация: 14.07.2016
Сообщений: 5
|
SELECT NUMTEL AS "Номер", DateValue(DATECALL) AS "Дата вызова", Round(Sum(TIMECALL/60),2) AS "Время (в мин)", Count(*) As "Кол-во"
FROM Лист1 GROUP BY NUMTEL, DateValue(DATECALL); Вот так нормально, только 0 целых не показывает в минутах |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
SQL-запрос, сравнение дат, периодов | Dux | SQL, базы данных | 4 | 14.07.2015 20:09 |
SQL фильтр и сравнение двух дат | demiancz | БД в Delphi | 10 | 26.12.2013 15:36 |
преобразование дат в числа (как отменить???) | naty | Microsoft Office Excel | 1 | 03.04.2012 00:16 |
Sql запрос диапазона дат | Maksimuz | БД в Delphi | 7 | 14.01.2011 23:31 |
SQL запрос в MYSQL для интервала дат | slips | SQL, базы данных | 7 | 05.06.2010 21:41 |