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

Nhận hàng đầu tiên cho một nhóm

Chỉnh sửa:ok, bây giờ bạn đã chỉnh sửa câu hỏi để câu trả lời này trông hoàn toàn không liên quan ... thở dài ... Tôi sẽ để lại nó trong trường hợp nó giúp bạn bắt đầu. Chúc mừng.

Giải pháp đơn giản nhất dựa trên thông số kỹ thuật của bạn:

  select teacherid 
    from mytable 
group by teacherid;

Nếu bạn cần thông tin khác ngoài teacherid :

  select teacherid, ...other cols...
    from (select teacherid, ...other cols...
                 row_number() over (
                     partition by teacherid
                     order by classid /* or class as per edit */) as row_num
            from mytable) my_derived_table
   where my_derived_table.row_num = 1;

Dấu hiệu báo trước:Tôi không có bản cài đặt SQL-Server tiện dụng để kiểm tra, vì vậy cú pháp có thể không chính xác; nhưng nó gần.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tạo Ràng buộc Duy nhất trên Cột cho Bảng đã tồn tại - Hướng dẫn SQL Server / TSQL Phần 97

  2. Truyền được chỉ định không phải là lỗi hợp lệ khi sử dụng C #

  3. Không có đủ bộ nhớ hệ thống trong nhóm tài nguyên 'nội bộ'

  4. Truy vấn bảng khác nhau dựa trên một tham số

  5. So sánh phần thời gian bỏ qua DATETIME và DATE