MySQL-এ সিলেক্ট ইনক্রিমেন্ট কাউন্টার ব্যবহার করতে হলে প্রথমে একটি ভেরিয়েবল ডিক্লেয়ার এবং ইনিশিয়ালাইজ করতে হয়। সিনট্যাক্স:
SET @anyVariableName = 0; SELECT yourColumnName, @anyVariableName := @anyVariableName + 1 AS anyVariableName FROM yourTableName;
সিনট্যাক্স বুঝতে এবং ইনক্রিমেন্ট কাউন্টার সেট করতে একটি টেবিল তৈরি করি:
mysql> CREATE TABLE incrementCounterDemo (
-> Name VARCHAR(100)
-> ); Query OK, 0 rows affected (1.01 sec)
ইনসার্ট কমান্ড দিয়ে কিছু রেকর্ড ইনসার্ট করি:
mysql> INSERT INTO incrementCounterDemo VALUES('John'); Query OK, 1 row affected (0.18 sec)
mysql> INSERT INTO incrementCounterDemo VALUES('Carol'); Query OK, 1 row affected (0.20 sec)
mysql> INSERT INTO incrementCounterDemo VALUES('David'); Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO incrementCounterDemo VALUES('Mike'); Query OK, 1 row affected (0.21 sec)
mysql> INSERT INTO incrementCounterDemo VALUES('Bob'); Query OK, 1 row affected (0.12 sec)
mysql> INSERT INTO incrementCounterDemo VALUES('Sam'); Query OK, 1 row affected (0.16 sec)
সিলেক্ট স্টেটমেন্ট দিয়ে সব রেকর্ড দেখি:
mysql> SELECT * FROM incrementCounterDemo;
আউটপুট:
+-------+ | Name | +-------+ | John | | Carol | | David | | Mike | | Bob | | Sam | +-------+ 6 rows in set (0.00 sec)
ভেরিয়েবল সেট করা
mysql> SET @counter = 0; Query OK, 0 rows affected (0.00 sec)
এখন ইনক্রিমেন্ট কাউন্টার সিলেক্ট করি:
mysql> SELECT Name,
-> @counter := @counter + 1 AS IncrementingValuebyOne
-> FROM incrementCounterDemo;
আউটপুট:
+-------+------------------------+ | Name | IncrementingValuebyOne | +-------+------------------------+ | John | 1 | | Carol | 2 | | David | 3 | | Mike | 4 | | Bob | 5 | | Sam | 6 | +-------+------------------------+ 6 rows in set (0.00 sec)