powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Помогите с запросом по суммированию времени
17 сообщений из 17, страница 1 из 1
Помогите с запросом по суммированию времени
    #33959212
Richard NN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть система контроля доступа.
У нее есть таблица с временем отметки карточки на датчике (время прибывания человека на объекте)
---date---------time-------card_id---
"2006-08-29";"09:01:00";1
"2006-08-29";"08:02:00";2
"2006-08-29";"17:02:00";2
"2006-08-29";"18:02:00";1
"2006-08-30";"10:03:00";1
"2006-08-30";"11:23:00";2
"2006-08-30";"13:23:00";2
"2006-08-30";"17:04:00";1
"2006-08-30";"20:08:00";2
...... ; ....... ; ........

необходимо получить суммарное время прибывания человека на объекте за несколько дней, считая только самое раннее время прихода и самое раннее время ухода... причем все данные должны быть в одной таблице...

Пока в голову пришел только один метод - считать суммарное время за один день, а затем средствами php считать сумму за необходимый период времени...
...
Рейтинг: 0 / 0
Помогите с запросом по суммированию времени
    #33959226
Владимор Конев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А почему время УХОДА должно быть самым ранним, а не самым поздним???
А вообще - не понял, в чем сложность задачи.
Как решать-то хоть пробывал?

-----------------------------------------------------------------------------------------------------------------------------------------
З.Ы.
Неспешно ищу работу, согласен на переезд в Москву или Питер
...
Рейтинг: 0 / 0
Помогите с запросом по суммированию времени
    #33959257
Richard NN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сорри, ошибся... Время ухода самое позднее...

Код: plaintext
1.
2.
3.
create view day_min as select MIN(time),card from data where date = '2006-08-30' group by card;
create view day_max as select MAX(time),card from data where date = '2006-08-30' group by card;

SELECT a.max - i.min as daytime, i.card FROM day_min i LEFT OUTER JOIN day_max a ON (i.card=a.card);

Пробовал вот так... Только в результате скрипт на пхп будет просчитывать очееень долго...
...
Рейтинг: 0 / 0
Помогите с запросом по суммированию времени
    #33959296
Владимор Конев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как различаются приход / уход в таблице???

-----------------------------------------------------------------------------------------------------------------------------------------
З.Ы.
Неспешно ищу работу, согласен на переезд в Москву или Питер
...
Рейтинг: 0 / 0
Помогите с запросом по суммированию времени
    #33959302
Richard NN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в принципе приход - самое раннее - уход -самое позднее....
Проблема заключается в том как просчитать сумму времени нахождения человека на объекте за несколько дней... Например за неделю...
...
Рейтинг: 0 / 0
Помогите с запросом по суммированию времени
    #33959309
Владимор Конев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ещё вопрос: как учитывать такого рода ситуации - человек пришел на работу вечером одного дня, а ушел утром другого?

-----------------------------------------------------------------------------------------------------------------------------------------
З.Ы.
Неспешно ищу работу, согласен на переезд в Москву или Питер
...
Рейтинг: 0 / 0
Помогите с запросом по суммированию времени
    #33959316
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Richard NNв принципе приход - самое раннее - уход -самое позднее....
Проблема заключается в том как просчитать сумму времени нахождения человека на объекте за несколько дней... Например за неделю...а по ночам люди не задерживаюца?
а люди мимо проходных не снуют?
а данные всегда попадают в базу (т.е. компы/турникеты/сеть не ломаюца и т.п.)?

петчально я сморю на наше по колено
...
Рейтинг: 0 / 0
Помогите с запросом по суммированию времени
    #33959326
Richard NN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В принципе, я решил отказаться от таких ситуаций... Т.к. таких людей у нас максимум 10... и отслеживать их посещения можно не по базе, а вручную...

Важно сделать именно по тем кто работает в течении одного дня...
...
Рейтинг: 0 / 0
Помогите с запросом по суммированию времени
    #33959333
Richard NN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
4321 Richard NNв принципе приход - самое раннее - уход -самое позднее....
Проблема заключается в том как просчитать сумму времени нахождения человека на объекте за несколько дней... Например за неделю...а по ночам люди не задерживаюца?
а люди мимо проходных не снуют?
а данные всегда попадают в базу (т.е. компы/турникеты/сеть не ломаюца и т.п.)?

петчально я сморю на наше по колено

Я так думаю, это уже все вопросы к начальству... :) Данные всегда попадают в базу...
...
Рейтинг: 0 / 0
Помогите с запросом по суммированию времени
    #33959336
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Richard NNВ принципе, я решилмдя-ссс.

или вы таки моделируете _предметную_ область.
либо - то, что _вы решили_.
...
Рейтинг: 0 / 0
Помогите с запросом по суммированию времени
    #33959343
Владимор Конев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Richard NNПроблема заключается в том как просчитать сумму времени нахождения человека на объекте за несколько дней... Например за неделю...Это как раз не проблема - вложенные запросы никто не отменял...

А вообще, решение дожно выглядеть примерно вот так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
select card_id, 
       sum(time_by_day) as time_by_dayinterval -- сумма за заданный период
  from (
          select card_id, 
                 max(time) - min(time) as time_by_day -- сумма за день
            from t
           where dt between '2006-08-29' and '2006-08-30' -- интересующий нас период
           group by card_id, dt
       )v
 group by card_id
...
Рейтинг: 0 / 0
Помогите с запросом по суммированию времени
    #33959344
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Richard NN Я так думаю, это уже все вопросы к начальству... :)т.е. "обработкой исключений", наблюдаемых в п.о. будете грузить начальство? аригинално.
Richard NNДанные всегда попадают в базу...при пьяном вахтере, сломанном турникете и упавшем сервере?
...
Рейтинг: 0 / 0
Помогите с запросом по суммированию времени
    #33959353
Владимор Конев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 4321
Да не придирайся ты к человеку ;)
Просто реши задачу на тех условиях, что он поставил, и всё...
Это должно быть его головной болью - учет "ночников" и неполадок

-----------------------------------------------------------------------------------------------------------------------------------------
З.Ы.
Неспешно ищу работу, согласен на переезд в Москву или Питер
...
Рейтинг: 0 / 0
Помогите с запросом по суммированию времени
    #33959390
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимор Конев2 4321
Да не придирайся ты к человеку ;)
Просто реши задачу на тех условиях, что он поставил, и всё...
да я не придираюсь. просто именно с пропускными системами и именно этими "типовыми упрощениями" не первый раз вижу постановку задачи. (правда разновидность с меткой типа прохода туда/сюда видел чаще) такое ощущение, что задачу дают "наиболее начинающим".
а время меж первой меткой и последней меткой прохода за день - праильно у вас пощитано. при 1-й метке - получим 0. только физ-смысл этого 0 (как и любой иной цифири) - не ясен.
...
Рейтинг: 0 / 0
Помогите с запросом по суммированию времени
    #33959398
Richard NN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Владимор Конев

Большое спасибо... Что-то я не подумал про вложенный запрос...
Попробовал, считает... Еще раз спасибо :)
...
Рейтинг: 0 / 0
Помогите с запросом по суммированию времени
    #33959403
Владимор Конев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Richard NN2 Владимор Конев

Большое спасибо... Что-то я не подумал про вложенный запрос...
Попробовал, считает... Еще раз спасибо :)"Ну, ты заходи, если что..." (с)
...
Рейтинг: 0 / 0
Помогите с запросом по суммированию времени
    #33959409
Richard NN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
4321(правда разновидность с меткой типа прохода туда/сюда видел чаще) такое ощущение, что задачу дают "наиболее начинающим".
а время меж первой меткой и последней меткой прохода за день - праильно у вас пощитано. при 1-й метке - получим 0. только физ-смысл этого 0 (как и любой иной цифири) - не ясен.

Собствено метка туда-сюда - в базе есть, но для устранения этого "0", было придумано решение смотреть просто по двум пределам времени - верхнему и нижнему.
Считывающие датчики у нас стоят как на вахте, так и на каждой комнате, и человеку хоть раз, но приходится отметится.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Помогите с запросом по суммированию времени
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]