Bạn đang nhận được hàng đó bởi vì bạn đang so sánh các chuỗi. "500" >= "60"
là đúng, vì thứ tự các ký tự ASCII.
Bạn phải thay đổi loại minutes
hoặc phân tích cú pháp giá trị khi lọc dữ liệu. Ví dụ:
SELECT *, CONVERT(minutes,UNSIGNED INTEGER) AS minutes_int
...
WHERE
...
AND `minutes_int` >= 600
...
Cũng có thể thử so sánh trực tiếp giá trị chuỗi với giá trị số nguyên, ví dụ:
AND `minutes` >= 600
bằng cách xóa dấu phẩy, nhưng tôi khuyên bạn nên nghĩ đến việc thay đổi định dạng cột, nếu có thể, vì biểu thị phút dưới dạng varchar(11)
không đúng và cũng sẽ khiến bạn chiếm nhiều dung lượng mà không có lý do.