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

MySQL Chọn các hàng vào lần xuất hiện đầu tiên của mỗi giá trị duy nhất

mysql có một "cheat" cho điều này:

select *
from mytable
group by cid;

Đó là tất cả những gì bạn cần, bởi vì trong mysql, nó cho phép bạn không tổng hợp các cột không được nhóm theo (các cơ sở dữ liệu khác sẽ gây ra lỗi cú pháp), trong trường hợp đó, nó chỉ xuất lần đầu tiên của mỗi (các) giá trị theo nhóm. Xin lưu ý rằng điều này sẽ không đảm bảo cách trong đó lần xuất hiện "đầu tiên" được xác định (nó sẽ chỉ là cách các hàng được đọc trong đó)

Nếu bạn muốn một cụ thể lần xuất hiện đầu tiên, sắp xếp trước, sau đó áp dụng cheat theo nhóm:

select *
from (
    -- order by the "time" column descending to get the "most recent" row
    select * from mytable order by time desc
    ) x
group by cid


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sự khác biệt giữa MySQL, MySQLi và PDO là gì?

  2. Đóng kết nối mysql có quan trọng không?

  3. sử dụng dấu gạch ngang (-) trong tên bảng mysql

  4. Làm cách nào để sử dụng lệnh JOIN trong câu lệnh UPDATE?

  5. phương pháp hay nhất về sql của tôi với php để đếm hàng