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

Cách tìm N bản ghi liên tiếp trong bảng bằng SQL

Bạn cần phải đối sánh bàn của mình với chính nó, như thể có 2 bàn. Vì vậy, bạn sử dụng hai bí danh, o1 và o2 để tham chiếu đến bảng của mình:

SELECT DISTINCT o1.customer, o1.product, o1.datum, o1.sale
  FROM one o1, one o2
  WHERE (o1.datum = o2.datum-1 OR o1.datum = o2.datum +1)
  AND o1.sale = 'NO' 
  AND o2.sale = 'NO'; 
 customer | product |   datum    | sale 
----------+---------+------------+------
 X        | A       | 2010-01-03 | NO
 X        | A       | 2010-01-04 | NO
 X        | A       | 2010-01-06 | NO
 X        | A       | 2010-01-07 | NO
 X        | A       | 2010-01-08 | NO

Lưu ý rằng tôi đã thực hiện truy vấn trên cơ sở dữ liệu postgresql - có thể cú pháp khác trên ms-sql-server, có thể ở bí danh 'FROM one AS o1' và có thể bạn không thể thêm / substract theo cách đó.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kết nối với Cơ sở dữ liệu SQL Server 2012 bằng C # (Visual Studio 2012)

  2. Làm cách nào để bạn tạo trường boolean có / không trong máy chủ SQL?

  3. Không thể tải máy chủ sql nhỏ gọn 3.5 / 4 hoạt động với ASP .NET MVC 2

  4. Thống kê cơ sở dữ liệu cập nhật máy chủ SQL

  5. SQL Server Management Studio (SSMS) là gì?