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

MySQL Chọn hàng có giá trị thấp nhất trong cột

Trước tiên, bạn phải chọn độ tuổi tối thiểu cho mỗi lớp:

select min(age) as age, class as class from t group by class

(Lưu ý:Tôi giả sử bạn muốn độ tuổi tối thiểu cho mỗi lớp. Tôi muốn tuổi tối thiểu cho mỗi tên, sau đó thay thế class với name trong các truy vấn ...)

Sau đó, bạn phải nối kết quả với bảng của mình để nhận các hàng tương ứng. SQL đầy đủ sẽ là

select t.* from t 
inner join
( 
  select min(age) as age, class as class from t group by class
) min_ages on t.age = min_ages.age and t.class = min_ages.class;

Để có hiệu suất tối ưu, hãy đảm bảo rằng age được lập chỉ mục cũng như class (hoặc name , bất kỳ cái nào bạn muốn trong nhóm group by biểu thức).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lỗi # 1066 - Không phải bảng / bí danh duy nhất trong MySQL

  2. Symfony2 - Quyền truy cập bị từ chối (người dùng không được xác thực đầy đủ)

  3. cập nhật bảng mysql bằng cách sử dụng tham số where từ ô jtable

  4. Cách truy xuất tất cả các bản ghi bằng khóa ngoại với Laravel

  5. Các phương pháp hay nhất với dữ liệu lịch sử trong cơ sở dữ liệu MySQL