У меня есть следующие таблицы базы данных VerticaSQL: Получить счетчик частоты, подобный поворот таблицы
+---------+-------+
| ReadOut | Event |
+---------+-------+
| 1 | A |
| 1 | A |
| 1 | B |
| 1 | B |
| 2 | A |
| 2 | B |
| 2 | B |
+---------+-------+
Я пытаюсь получить частоту каждого события в зачитывает. Может быть, я missusing термин «частота» в этом случае, но в идеале в конце я бы таблицу, как это:
+-----------+---------+---------+--+
| Frequency | Event_A | Event_B | |
+-----------+---------+---------+--+
| 1 | 1 | 0 | |
| 2 | 1 | 2 | |
| 3 | 0 | 0 | |
| 4 | 0 | 0 | |
| . | 0 | 0 | |
| . | 0 | 0 | |
| . | 0 | 0 | |
+-----------+---------+---------+--+
До сих пор я реализовал цикл в питона, который выглядит, как это (упрощенный вариант) :
# get all the available event names
Eventlist=SELECT DISTINCT Event FROM table
# loop over each event to get the frequency
for ii in Eventlist:
SELECT count(Readout) FROM table WHERE Event = ii group by Readout
Но disadvante в том, что мне нужно знать имена событий заранее, который требует отдельного запроса, и я должен запустить кучу петель. Есть ли более элегантный способ сделать это. Thanks Mates
Вам не хватает колонки последовательности/времени –
@DuduMarkovitz Можете ли вы подробнее рассказать немного? – valenzio
Извините, мой плохой ......... –