0
我有五列的表格:id
,user_code
,created_at
,A
,和B
和start
。 id
僅僅是一個鍵,user_code
識別與該行相關聯的用戶,created_at
是一個時間戳,A
,B
,並start
可以獨立取值0或1。依賴於前面的行PostgreSQL的列值
我什麼是運行查詢,其將所述列As
和Bs
,根據created_at
,然後給定行的As
值哪些訂單原始表以升序等於先前行的具有相同user_code
是有A = 1
自從上次start = 1
(數量,同樣的事情Bs
和B
)。
樣品輸入:
id | user_code | created_at | A | B | start
---------------------------------------------
00 | 1 | t0 | 1 | 0 | 1
01 | 1 | t1 | 0 | 0 | 1
02 | 2 | t1 | 0 | 0 | 1
03 | 1 | t2 | 1 | 0 | 0
04 | 2 | t2 | 0 | 1 | 0
05 | 2 | t3 | 0 | 1 | 0
06 | 1 | t4 | 1 | 1 | 0
07 | 1 | t5 | 0 | 1 | 1
輸出示例:
id | user_code | created_at | A | B | start | As | Bs
-------------------------------------------------------
00 | 1 | t0 | 1 | 0 | 1 | 01 | 00
01 | 1 | t1 | 0 | 0 | 1 | 00 | 00
02 | 2 | t1 | 0 | 0 | 1 | 00 | 00
03 | 1 | t2 | 1 | 0 | 0 | 01 | 00
04 | 2 | t2 | 0 | 1 | 0 | 00 | 01
05 | 2 | t3 | 0 | 1 | 0 | 00 | 02
06 | 1 | t4 | 1 | 1 | 0 | 02 | 01
07 | 1 | t5 | 0 | 1 | 1 | 00 | 01
08 | 2 | t6 | 1 | 0 | 1 | 01 | 00
這是我解釋的問題的一個很好的解決方案!但是我忘了添加一個很重要的細節,這使得這個解決方案不太合適:x我編輯過來添加它。 –