powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выборка_тайминг_время чтения книги
6 сообщений из 6, страница 1 из 1
Выборка_тайминг_время чтения книги
    #38788135
git3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!

В SQL есть возможность сделать тайминг по ученикам? по следующему принципу:

Т.е. например есть БД:

ID FIO Act Begin Time (время когда книжка попала в руки FIO) Date
1 Макаров Контроль 13.30 27.10.14
1 Иванов Чтение 13.35 27.10.14
1 Ветров Физика 13.45 и т.д.
1 Макаров Контроль 13.50
2 Макаров Контроль 17.20
2 Петров Чтение 17.21
2 Макаров Контроль 17.30
3 Макаров Контроль 15.13
3 Сидоров Чтение 15.20
3 Иванов Чтение 15.37
3 Петров Чтение 15.40
3 Иванов Чтение 15.50
3 Макаров Контроль 16.00
4 Макаров Контроль 19.25
4 Ветров Физика 19.50
4 Макаров Контроль 20.00

Есть учитель, в данном случае Макаров, и есть ученики.

Нужно выбрать записи по Act только где присутствует "Чтение" и сколько кому FIO потребовалось времени на рассмотрение учебника для каждого ID.

Допустим, записи упорядочены в хронологическом порядке по Begin Time

Например для ID=3

Иванов - 27 мин
Петров - 3 мин
Сидоров - 7 мин

Для ID = 4 ничего не выводить и не брать в расчет этот ID

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

ЗЫ
ну это чтоб не тратили, пан профессор своё и наше время на каждый шаг в решении задачи...
...
Рейтинг: 0 / 0
Выборка_тайминг_время чтения книги
    #38788406
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
git3,

Для каждой записи типа "чтение"
надо найти "предыдушую" запись
и подсчитать время:


Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
select
  z.fio,
  (z.time - z.time_previous) time_delta
from
(
select 
  t1.fio, 
  t1.time,
  (select t1.time 
    from tbl t2
    where t2.id=t1.id 
        and t2. time < t1.time
     order by time desc
      limit 1) time_previous
from tbl t1
where t1.act='Read'
) z
where z.time_previous is not null



Без настройки этот запрос может быть долгим
на большой базе.
Есть вариант на переменных, но он посложнее.
...
Рейтинг: 0 / 0
Выборка_тайминг_время чтения книги
    #38790191
git3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
javajdbc,

Спасибо, а что здесь выполняет роль таблицы 2? Ведь всего одна таблица
...
Рейтинг: 0 / 0
Выборка_тайминг_время чтения книги
    #38790937
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
git3javajdbc,

Спасибо, а что здесь выполняет роль таблицы 2? Ведь всего одна таблица

я не понял вашего вопроса.
...
Рейтинг: 0 / 0
Выборка_тайминг_время чтения книги
    #38791095
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
git3что здесь выполняет роль таблицы 2? Ведь всего одна таблица
Ну сказали же
alex564657498765453гуглить на тему "введение в sql"... даже статья на хабре поможет...
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выборка_тайминг_время чтения книги
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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