在MySQL中我有一个看起来像这样的表:
ID QBATCH USERID SEQUENCE EVENT_DATA
-- ------ ------ -------- ----------
448 56 229 1 BEFORE
464 80 229 1 AFTER
496 80 229 2 AFTER
1391 128 955 1 AFTER
1448 148 955 2 AFTER
1693 148 955 3 AFTER
2549 148 955 4 AFTER
对于给定的用户ID,最多可能有5条记录 - 在'之前'1'和最多4'记录之后。我想做的是取消堆叠数据,看起来像这样:
ID1 QBATCH1 USERID1 SEQUENCE1 EVENT_DATA1 ID2 QBATCH2 USERID2 SEQUENCE2 EVENT_DATA2 etc...
448 56 229 1 BEFORE 464 80 229 1 BEFORE
1391 128 955 1 AFTER 1448 148 955 2 AFTER
我想(以某种方式)确保所有'之前'记录都在第一个位置而不依赖于'序列'号码,如果可能的话(因为'event_data'并不总是说'BEFORE')
我希望我正确地问这个并且有人有答案。如果我没有正确询问,请耐心等待。由于我不太了解MySQL,我尝试过的唯一事情就是导出数据并在其他应用程序(Excel,Access等)中使用它们,但似乎没有任何工作。我确信在MySQL中必须有一种方法。
任何帮助?
编辑:问题在于我不能依赖'序列'号码。我需要说'为这个用户ID获取第一条记录并将其放在第一位。获取此用户ID的第二条记录并将其置于第二个位置 - 无论序列号是什么