[英]MySQL - How to count number of previous occurrences to current row
帶有下表:
+----------+------+
| Platform | day |
+----------+------+
| 1670254 | 0 |
| 1670254 | 0 |
| 1665087 | 0 |
| 1670254 | 0 |
| 1670254 | 1 |
| 1670254 | 1 |
| 1670254 | 1 |
| 1670254 | 1 |
| 1670254 | 1 |
| 1665160 | 1 |
| 1670254 | 1 |
| 1670254 | 2 |
| 1670254 | 2 |
| 1670254 | 3 |
| 1670254 | 4 |
| 1667145 | 5 |
我想添加第三列,該列計算先前日期的出現次數。 例如,在第1天,平台1670254執行了3次先前的操作。
結果應顯示為:
+----------+------+-----------+
| Platform | day | Previous |
+----------+------+-----------+
| 1670254 | 0 | 0 |
| 1670254 | 0 | 0 |
| 1665087 | 0 | 0 |
| 1670254 | 0 | 0 |
| 1670254 | 1 | 3 |
| 1670254 | 1 | 3 |
| 1670254 | 1 | 3 |
| 1670254 | 1 | 3 |
| 1670254 | 1 | 3 |
| 1665160 | 1 | 0 |
| 1670254 | 1 | 3 |
| 1670254 | 2 | 9 |
| 1670254 | 2 | 9 |
| 1670254 | 3 | 11 |
| 1670254 | 4 | 12 |
| 1667145 | 5 | 0 |
只需一個相關查詢即可獲得每個平台的前一天。
SELECT *, (SELECT COUNT(Platform)
FROM YourTable t2
WHERE t1.Platform = t2.Platform
AND t1.day > t2.day) as Previous
FROM YourTable t1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.