2017-10-28 44 views
0

我有一個帶有日期戳的事務表。我想添加一列來爲記錄編號,但他們必須每天重新開始。這可能嗎?每天向表添加遞增數

例子:

+------------------+--------------+ 
| Date    | Data   | 
+------------------+--------------+ 
| 19-10-2017 10:18 | Transaction1 | 
| 19-10-2017 12:18 | Transaction2 | 
| 19-10-2017 13:23 | Transaction3 | 
| 20-10-2017 11:18 | Transaction4 | 
| 20-10-2017 14:18 | Transaction5 | 
| 21-10-2017 09:18 | Transaction6 | 
| 21-10-2017 10:18 | Transaction7 | 
| 21-10-2017 11:18 | Transaction8 | 
| 21-10-2017 12:18 | Transaction9 | 
+------------------+---------+----+ 

而且我想這樣:

+------+------------------+--------------+ 
| Nr | Date    | Data   | 
+------+------------------+--------------+ 
| 1 | 19-10-2017 10:18 | Transaction1 | 
| 2 | 19-10-2017 12:18 | Transaction2 | 
| 3 | 19-10-2017 13:23 | Transaction3 | 
| 1 | 20-10-2017 11:18 | Transaction4 | 
| 2 | 20-10-2017 14:18 | Transaction5 | 
| 1 | 21-10-2017 09:18 | Transaction6 | 
| 2 | 21-10-2017 10:18 | Transaction7 | 
| 3 | 21-10-2017 11:18 | Transaction8 | 
| 4 | 21-10-2017 12:18 | Transaction9 | 
+------+------------------+--------------+ 
+0

你想更新表添加新的列或只想在此打印方式? –

回答

0

你可以嘗試以下解決方案:

SELECT 
    @row_number:=CASE WHEN DATE(@date_value)=DATE(`Date`) THEN @row_number + 1 ELSE 1 END AS row_number, 
    @date_value:=`Date` AS `Date` 
FROM test, (SELECT @row_number:=0, @date_value:=DATE(NULL)) AS t 
ORDER BY `Date`, row_number 
+0

我會將DATE()存儲爲變量 – Strawberry