Tìm ra tất cả các nhân viên có lastName bắt đầu bằng chữ M, B hoặc T
SELECT lastname,firstname FROM employees WHERE lastname REGEXP '^(M|B|T)'2. Sử dụng LIMIT
Để lấy ngẫu nhiên một dòng:
SELECT * FROM table ORDER BY RAND() LIMIT 1lấy ngẫu nhiên n dòng:
SELECT * FROM table ORDER BY RAND() LIMIT nCách trên giải quyết tốt trên những bảng dữ liệu có kích cở nhỏ. Với những bảng lớn thì nó sẽ cho kết quả chậm do phải sắp xếp lại toàn bộ bảng rồi sau đó mới tiến hành lấy ngẫu nhiên. Để giải quyết vấn đề này, chúng ta giải quyết như sau:
· Trước tiên, lấy ngẫu nhiên ID của một cột. Cột này nên là khóa chính và giá trị tăng tuần tự.
· Sau đó, lấy ra các dòng dữ liệu dựa trên ID mà chúng ta đã chọn
SET @ID = FLOOR(RAND( )* N) + 1; SELECT * FROM table WHERE ID >= @ID LIMIT 1Phân trang
SELECT * FROM table_name LIMIT page, limitpage: trang hiện tại
limit: số dòng hiển thị trên một trang
Không có nhận xét nào:
Đăng nhận xét