Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

CHỌN dải số nguyên trong MySQL. Ví dụ. 1,2,3,4, ..., n;

Các vấn đề với truy vấn của bạn:

  1. Bạn không thể sử dụng range trong mệnh đề WHERE. Nó là một bí danh và sẽ chỉ được xác định sau khi mệnh đề WHERE được thực hiện.
  2. Ngay cả khi bạn có thể sử dụng nó, sẽ không có ý nghĩa gì nếu so sánh một số với một tập hợp số bằng <> . Nói chung, bạn có thể sử dụng IN(...) , nhưng trong trường hợp cụ thể của bạn, bạn nên sử dụng BETWEEN 100000 and 999999 và tránh cần phải có RANGE hàm số.
  3. Nếu bạn chỉ muốn một số thì giới hạn phải là 1, không phải là một cái gì đó ngẫu nhiên. Thông thường để chọn các mục ngẫu nhiên, bạn sử dụng ORDER BY RAND() .

Hãy thử sử dụng truy vấn này:

SELECT phoneNum, 100000 as rangeStart, 999999 AS rangeEnd
FROM phone
WHERE phoneNum NOT BETWEEN 100000 AND 999999
ORDER BY RAND()
LIMIT 1

Nếu bạn muốn tìm một số không có trong bảng của mình và các số có sẵn không gần cạn (giả sử chỉ định ít hơn 80%) thì cách tiếp cận tốt là tạo các số ngẫu nhiên và kiểm tra xem chúng có được chỉ định hay không cho đến khi bạn tìm thấy một 't.

Một giải pháp MySQL thuần túy có thể tồn tại nhưng tôi nghĩ nó cần một số liên kết xoắn, ngẫu nhiên và mô-đun.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Giám sát hiệu quả MySQL với SCUMM Dashboards:Part One

  2. sử dụng mysql nhúng với qt?

  3. Khi sử dụng NetBeans để gỡ lỗi tập lệnh PHP để sửa đổi các bản ghi bảng,'ised_rows 'sẽ thay đổi từ 1 thành -1

  4. Làm thế nào để kiểm tra xem SimpleXML có được cài đặt trên PHP của tôi hay không?

  5. Cách tối ưu hóa ĐƠN ĐẶT HÀNG THEO cho một cột được tính toán trên bảng MASSIVE MySQL