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

cách duy trì trường thứ tự hiển thị trong php

Bạn có thể sử dụng các giá trị lớn hơn để hiển thị, chẳng hạn như:

apple : 1 000 000

orange : 2 000 000

banana : 3 000 000

Bây giờ nếu tôi muốn thêm potato ở vị trí 2 (n =2) Tôi lấy vị trí n (=> 2:cam) và (n-1) (=> 1:táo) và chia chúng cho 2 để có vị trí khoai tây mới:

(1 000 000 + 2 000 000) / 2

=1 500 000

apple : 1 000 000

**potato : 1 500 000**

orange : 2 000 000

banana : 3 000 000

Điều này sẽ hoạt động trong một thời gian khá dài và nếu một lúc nào đó bạn cảm thấy như mình đã cạn kiệt lược đồ này, bạn vẫn có thể nhân tất cả các giá trị với 1000.

Bạn cũng có thể tiếp tục sử dụng giá trị thấp (1, 2, 3, ...) và xác định loại của chúng là DOUBLE , vì vậy chúng sẽ không bao giờ va chạm khi chia chúng cho 2.

CHỈNH SỬA: Về cách đặt chuối ở vị trí 1:

Sử dụng công thức (n + (n-1)) / 2:

Đây n =1 (vị trí mới).

Dữ liệu của chúng tôi là:

apple : 1 000 000

potato : 1 500 000

orange : 2 000 000

banana : 3 000 000

(1 000000+ (0)) / 2

=500 000

Tôi cho đơn hàng 500 000 quả chuối:

**banana : 500 000**

apple : 1 000 000

potato : 1 500 000

orange : 2 000 000

Tuy nhiên, một giải pháp khác:tạo một trường văn bản sẽ là một trình lập chỉ mục và chứa tất cả các id.

"1,2,3,4,5,6,7"

Bây giờ Nếu tôi muốn đặt id phần tử 8 giữa 3 và 4, tôi chỉ cần thay thế ", 4," bằng ", 8,4,".

Mặc dù phức tạp hơn về mặt tính toán để tìm phần tử ở chỉ mục n, vì vậy tôi muốn người phân tích sử dụng giải pháp đầu tiên.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Trích xuất từ ​​một xml lớn, truy vấn không thành công với chuỗi ký tự quá dài

  2. Sau khi cập nhật Windows 10 1803, chương trình của tôi không thể mở ổ cắm khi chạy từ chia sẻ mạng

  3. Điều gì xảy ra khi thay đổi loại cột TIMESTAMP thành DATETIME trong MySQL?

  4. Có thể CẬP NHẬT một bảng đã THAM GIA bằng Bản ghi Hoạt động của Codeigniter không?

  5. Rails 5 và Ruby 2.3.3 Không tải được libmysql.dll