2017-10-28 3 views
0

私は、日付スタンプを持つ取引テーブルを持っています。レコードに番号を付ける列を追加したいが、毎日再起動する必要がある。これは可能ですか?テーブルに1日に増分する数字を追加します。

例:

+------------------+--------------+ 
| 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

関連する問題