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

SQL Server:chọn kết quả cuối cùng từ nhóm theo

Bạn muốn sử dụng các hàm cửa sổ cho việc này, thay vì nhóm group by :

select FromUser, ToUser, Message, [Date], UserId, UserFullName, UserName, UserPhoto
from (SELECT CM.FromUser, CM.ToUser, CM.Message, CM.Date, U.UserId,
             U.UserFullName, U.UserName, U.UserPhoto,
             row_number() over (partition by CM.FromUser, CM.ToUser order by [Date] desc) as seqnum
      FROM ConversationMessages CM INNER JOIN
           Users U
           ON U.UserName = CM.FromUser
      WHERE  CM.ToUser = @user
     ) s
WHERE seqnum = 1
ORDER BY CM.Date DESC ;


  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àm cách nào để tôi có được ngày tối đa (mỗi khóa chính) và nhận được sự khác biệt của nó với ngày từ bảng khác?

  2. Làm thế nào để thực hiện một LEFT JOIN trong SQL Server giữa hai câu lệnh SELECT?

  3. SQL - Thủ tục được lưu trữ với Câu lệnh Chọn sử dụng IN (@Variable_CommaDelimitedListOfIDS)

  4. Kiểm tra xem RPC Out có được bật trên máy chủ được liên kết hay không

  5. Hợp nhất 2 cơ sở dữ liệu SQL Server