我有类似的东西,并且想要在此之前完成USER1的交易次数:
USER1 - 12$ USER2 - 9$ USER1 - 8$ USER3 - 18$ USER1 - 34$
我需要这样的事情:
USER1 - 12$ - 1 USER2 - 9$ - 1 USER1 - 8$ - 2 USER3 - 18$ - 2 USER1 - 34$ - 3
最后一列显示了用户1的总交易次数。
答案 0 :(得分:0)
您可以使用SELECT和本地变量:
SET @a=0;
SELECT yourtable.*, IF(user='USER1',@a:=@a+1,@a) 'user1-transactions' FROM yourtable;
或者您甚至可以不显示USER1的行的交易计数:
SET @a=0;
SELECT yourtable.*, IF(user='USER1',@a:=@a+1,NULL) 'user1-transactions' FROM yourtable;
请注意,这取决于从表中检索行的顺序。如果您向查询添加ORDER BY
或创建表的索引,则会更改结果。