Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Cara menemukan N catatan Berturut-turut dalam tabel menggunakan SQL

Anda harus mencocokkan meja Anda dengan dirinya sendiri, seolah-olah ada 2 tabel. Jadi Anda menggunakan dua alias, o1 dan o2 untuk merujuk ke tabel Anda:

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

Perhatikan bahwa saya melakukan kueri pada database postgresql - mungkin sintaksnya berbeda pada ms-sql-server, mungkin pada alias 'FROM one AS o1' mungkin, dan mungkin Anda tidak dapat menambah/mengurangi dengan cara itu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. menambahkan informasi pengkodean ke hasil FOR XML

  2. Bagaimana cara mendapatkan waktu (hh:mm:ss) dari kueri sql?

  3. SQL:Coba/Tangkap tidak menangkap kesalahan saat mencoba mengakses tabel yang tidak dapat ditemukan

  4. SQL Server 2005 - menggunakan urutan yang dihasilkan alih-alih kolom Identitas?

  5. Bagaimana cara mendeteksi jika string berisi setidaknya angka?