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

Truy vấn đơn giản để lấy giá trị tối đa cho mỗi ID

Một cái gì đó như thế này? Tham gia bảng của bạn với chính nó và loại trừ các hàng mà tín hiệu cao hơn được tìm thấy.

select cur.id, cur.signal, cur.station, cur.ownerid
from yourtable cur
where not exists (
    select * 
    from yourtable high 
    where high.id = cur.id 
    and high.signal > cur.signal
)

Điều này sẽ liệt kê một hàng cho mỗi tín hiệu cao nhất, vì vậy có thể có nhiều hàng cho mỗi id.



  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ó cách nào để truy cập giá trị hàng trước đó trong câu lệnh SELECT không?

  2. Tạo một hàm có giá trị bảng trong SQL Server

  3. Cơ sở dữ liệu + Xác thực Windows + Tên người dùng / Mật khẩu?

  4. Cách tạo Tập lệnh để Thêm Ràng buộc Mặc định vào Cột trong Nhiều Bảng trong Cơ sở dữ liệu SQL Server - Hướng dẫn SQL Server / TSQL Phần 94

  5. tham chiếu chưa được giải quyết tới đối tượng [INFORMATION_SCHEMA]. [TABLES]