Dùng WHERE Name='...' ORDER BY RAND() LIMIT 1. Tạo bảng:
mysql> CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(20)
); Query OK, 0 rows affected (1.65 sec)
Chèn dữ liệu (Bob xuất hiện 3 lần):
mysql> INSERT INTO DemoTable(Name) VALUES('Chris'); Query OK, 1 row affected (0.19 sec)
mysql> INSERT INTO DemoTable(Name) VALUES('Bob'); Query OK, 1 row affected (0.11 sec)
mysql> INSERT INTO DemoTable(Name) VALUES('David'); Query OK, 1 row affected (0.22 sec)
mysql> INSERT INTO DemoTable(Name) VALUES('Bob'); Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO DemoTable(Name) VALUES('Bob'); Query OK, 1 row affected (0.08 sec)
Hiển thị dữ liệu:
mysql> SELECT * FROM DemoTable;
Kết quả:
+----+-------+ | Id | Name | +----+-------+ | 1 | Chris | | 2 | Bob | | 3 | David | | 4 | Bob | | 5 | Bob | +----+-------+ 5 rows in set (0.65 sec)
Lấy 1 hàng ngẫu nhiên trong số các hàng Name='Bob':
mysql> SELECT * FROM DemoTable WHERE Name='Bob' ORDER BY RAND() LIMIT 1;
Kết quả (ví dụ Id=5):
+----+------+ | Id | Name | +----+------+ | 5 | Bob | +----+------+ 1 row in set (0.00 sec)