Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.07.2016, 15:19   #1
EX111
 
Регистрация: 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);
Но результат не тот
EX111 вне форума Ответить с цитированием
Старый 14.07.2016, 15:24   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

SUM(TIMECALL) пробовал?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 14.07.2016, 15:30   #3
EX111
 
Регистрация: 14.07.2016
Сообщений: 5
По умолчанию

Сейчас попробовал, он не дату выдает в нормальном формате, а просто число ( без месяца и года)
EX111 вне форума Ответить с цитированием
Старый 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
EX111
 
Регистрация: 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 целых не показывает в минутах
EX111 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
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