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

SQL Query:Bagaimana saya bisa mendapatkan data baris dengan nomor 1000 secara langsung?

row_number adalah pendekatan terbaik tetapi karena Anda hanya ingin satu baris, pastikan untuk melihat rencananya. Mungkin lebih baik untuk mengidentifikasi baris yang diinginkan kemudian bergabung kembali ke tabel asli untuk mengambil kolom tambahan.

WITH T1
     AS (SELECT *,
                ROW_NUMBER() OVER (ORDER BY number) AS RN
         FROM   master..spt_values)
SELECT name,
       number,
       type,
       low,
       high,
       status
FROM   T1
WHERE  RN = 1000;

Memberikan

WITH T2
     AS (SELECT number,
                type,
                name,
                ROW_NUMBER() OVER (ORDER BY number) AS RN
         FROM   master..spt_values)
SELECT TOP 1 C.name,
             C.number,
             C.type,
             C.low,
             C.high,
             C.status
FROM   T2
       CROSS APPLY (SELECT *
                    FROM   master..spt_values v
                    WHERE  v.number = T2.number
                           AND v.type = T2.type
                           AND ( v.name = T2.name
                                  OR ( v.name IS NULL
                                       AND T2.name IS NULL ) )) C
WHERE  RN = 1000;  

Memberikan



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nama File Berlangganan SSRS dengan Tanggal

  2. SQL Server menghapus milidetik dari datetime

  3. Kesalahan Koneksi SQL Server 2008 Tidak ada proses di ujung pipa yang lain

  4. Pulihkan cadangan basis data melalui jaringan

  5. Bagaimana saya bisa memasukkan nilai nol dalam MIN atau MAX?