![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 14.07.2016
Сообщений: 5
|
![]()
Здравствуйте, имеется таблица. В ней указаны номера, с которых осуществлялся вызов, дата и длительность вызова. Необходимо сгруппировать данные, чтобы собиралась статистика за каждый день. Например,
Исходный вариант: Телефон Дата .........Длительность ................................... 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); Но результат не тот |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
SUM(TIMECALL) пробовал?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 14.07.2016
Сообщений: 5
|
![]()
Сейчас попробовал, он не дату выдает в нормальном формате, а просто число ( без месяца и года)
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Я имел ввиду длительность просуммировать . Она же число минут у тебя? А функции для выделения даты из даты-времени нет. В MS SQL можно так например dateadd(day,0,datediff(day,0,DATECA LL)) или CAST(DATECALL AS date) в современных версиях. В каждой СУБД по своему
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#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 |