我已在Vertica的数据库SQL:获取频率计数器,类似透视表
+---------+-------+
| 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 | |
+-----------+---------+---------+--+
到目前为止,我实现了一个在Python中循环,看起来像这样(简体版) :
# 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
对不起,我的坏......... –