cho rằng chúng tôi đang thực hiện các từ khóa tìm kiếm sử dụng: KEYWORD1, KEYWORD2, KEYWORD3Mysql: Sắp xếp theo như thế nào?
có bản ghi trong cơ sở dữ liệu với cột "Tên":
1: John Doe 2: Samuel Doe 3: John Smith 4: Anna Smith
tại Query:
SELECT * FROM users WHERE (name LIKE "%John%" OR name LIKE "%Doe%")
nó sẽ chọn hồ sơ: 1,2,3 (theo thứ tự này) nhưng tôi muốn đặt hàng theo từ khóa trong ví dụ keyword1=John, keyword2=Doe
vì vậy nó sẽ được liệt kê theo từ khóa: 1,3,2 (vì tôi muốn thực hiện tìm kiếm "Doe" sau khi tìm kiếm "John")
Tôi đã suy nghĩ về SELECT DISTINCT FROM (...... UNION .....)
nhưng sẽ dễ dàng hơn khi đặt hàng bằng cách khác (truy vấn thực là thực sự dài)
có bất kỳ thủ thuật nào để tạo thứ tự như vậy không?
có, hoạt động, cảm ơn bạn :) – dfens
một điều nữa - nếu tôi hiểu đúng thì mỗi LIKE sẽ được thực hiện 2 lần trong toàn bộ truy vấn? – dfens
@dfens: Tôi đoán rằng 'LIKE' trong mệnh đề' ORDER BY' sẽ chỉ thực hiện trên dữ liệu được khớp với mệnh đề 'WHERE', vì vậy sẽ nhanh hơn. – RedFilter