我有一个名为order_user
的数据透视表,我想在此表中设置自动增量,但我希望每列user_id
更新此列,而不是按表中的行数更新
这样的事情:
user_id |order_id|count|
--------|--------|-----|-----
1 | 2 | 1 |
2 | 4 | 1 | <---
5 | 2 | 1 |
1 | 6 | 2 | <---
| | |
我希望Laravel或MySQL为我这样做,而不是通过自定义查询尝试!
答案 0 :(得分:1)
您需要2个会话变量来控制查询流程,一个用于了解您的用户是否更改,另外两个用于计算订单。
您需要更改表名“orderbyuser”
SELECT
user_id,
order_id,
orderCount
FROM
(SELECT
user_id,
order_id,
IF(@userId<>user_id, @countId:=1, @countId:=@countId+1) orderCount,
@userId:=user_id
FROM
orderbyuser, #change table name
(SELECT @countId:=0, @userId:=null) c
ORDER BY
user_id,
order_id) data