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

Tôi cần truy vấn sql để nhóm theo tên nhưng trả về các trường khác dựa trên mục nhập gần đây nhất

Bạn cũng có thể viết những gì Andrey đã viết gọn gàng hơn nếu bạn chọn ĐẦU (1) VỚI TIES và đặt biểu thức ROW_NUMBER () trong mệnh đề ORDER BY:

SELECT TOP (1) WITH TIES
  CallerFName,
  CallerLName,
  CallerDOB,
  CreatedOn,
  PhoneNoteID
FROM [dbo].[PhoneCallNotes]
WHERE CallerLName = 'Public' 
ORDER BY ROW_NUMBER() OVER(
  PARTITION BY CallerFName, CallerLName, CallerDOB
  ORDER BY CreatedOn DESC
)

(Nhân tiện, không có lý do gì để sử dụng LIKE để so sánh chuỗi đơn giả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. SQL:Lưu trữ guids

  2. So sánh giá trị của hai cột rồi chọn giá trị lớn hơn

  3. Cập nhật bảng bằng cách sử dụng JOIN trong SQL Server?

  4. Không thể kết nối với User-PC trong SQL Server 2008 Express?

  5. Làm cách nào để chèn các bản ghi vào SQL với các giá trị đã tra cứu?