Vì bạn sau khi max của dài nhất trường, tôi sẽ bắt đầu với một cái gì đó như sau. Tôi không chắc liệu cú pháp có đúng không. Về cơ bản bạn phải bỏ qua tất cả nhưng giá trị cột dài nhất.
select max(letter) from jobs
where len(letter) = (
select max(len(letter)) from jobs
)
Dù giải pháp mà bạn chọn, xem xét các tùy chọn thêm một cột để giữ độ dài thư và có nó được kiểm soát bởi một chèn/cập nhật cò (giả MySQL có đó).
Bằng cách lập chỉ mục cột đó, bạn có thể tăng tốc đáng kể truy vấn của mình kể từ khi bạn xóa các hàm trên mỗi hàng trong thời gian select
. Thời điểm thích hợp để chịu chi phí là khi dữ liệu thay đổi để chi phí tính toán được khấu hao theo tất cả các lần đọc.
Điều này sẽ không hoạt động trong trường hợp cơ sở dữ liệu được viết thường xuyên hơn đọc, nhưng chúng tương đối hiếm trong kinh nghiệm của tôi.
Điều đó vẫn sẽ cấp Z cho bộ đầu vào [A..Z, AA]. – paxdiablo
Xin lỗi, chỉnh sửa sau khi tôi nhận ra rằng tôi đã ngu ngốc vì không đọc chính xác. – jocull