sql частота времени

0

Я пытаюсь вывести частоту рабочих логинов и, следовательно, у меня есть две таблицы.

Таблица 1: работники

+----------+
| workerid |
+----------+
| w1       |
| w2       |
| w3       |
| w4       |
+----------+

Таблица 2: информация

+----------+-----------+
| workerid | timestamp |
+----------+-----------+
| w1       |  23494944 |
| w1       |  24444444 |
| w3       |  26773735 |
| w4       |  86433333 |
+----------+-----------+

Ожидаемый результат запроса:

+------------------+----------------+
| count of workers | number_entries |
+------------------+----------------+
|                1 |              2 |
|                2 |              1 |
+------------------+----------------+

Я написал это, но мне не хватает, как определить частоту времени.

SELECT COUNT(DISTINCT(Worker_id)) as  count_of_workers, COUNT(FREQUENCY) as number_entries
GROUP BY user id
ORDER BY COUNT desc;
  • 0
    Таким образом, у одного работника (# 1) есть 2 записи в таблице 2, и у двух работников есть одна запись eaxh в таблице 2. Это правильно?
Теги:

1 ответ

1

Если я правильно понимаю, вы хотите две group by:

select num_entries, count(*) as num_workers
from (select worker_id, count(*) as num_entries
      from information
      group by worker_id
     ) i
group by num_entries
order by num_entries;

Ещё вопросы

Сообщество Overcoder
Наверх
Меню