SELECT powiazanie, Min(Case When akcja=0 Then data End) data_akcji1, Max(Case When akcja=1 Then data End) data_akcji2 FROM tabela GROUP BY powiazanie
To rzeczywiście działa dobrze! Wręcz idealnie.. Jednak ja źle opisałem problem :/
Dane:
id |
akcja |
data |
user_id |
1 |
0 |
2013-11-01 10:00 |
1 |
2 |
1 |
2013-11-01 11:00 |
1 |
3 |
0 |
2013-11-01 12:00 |
1 |
4 |
1 |
2013-11-01 13:00 |
1 |
5 |
0 |
2013-11-01 14:00 |
2 |
i potrzebuję zrobić selecta, który wyciągnie mi te dane w następującej postaci:
data akcji 0 |
data akcji 1 |
user_id |
2013-11-01 10:00 |
2013-11-01 11:00 |
1 |
2013-11-01 12:00 |
2013-11-01 13:00 |
1 |
2013-11-01 14:00 |
null |
2 |
Po akcji 0 zawsze następuje akcja 1 i taki zestaw kolejno występujących akcji tego samego użytkownika tworzy rekord.