Rumah pangkalan data tutorial mysql 数据库取前几条记录的语句

数据库取前几条记录的语句

Jun 07, 2016 pm 02:53 PM
pangkalan data Rekod kenyataan

数据库取前几条记录的语句 1. ORACLE www.2cto.com SELECT * FROM TABLE1 WHERE ROWNUM=N 2. INFORMIX SELECT FIRST N * FROM TABLE1 where 1=1 3. DB2 SELECT * ROW_NUMBER() OVER(ORDER BY COL1 DESC) AS ROWNUM WHERE ROWNUM=N 或者 SELECT COLUMN FROM T


数据库取前几条记录的语句

 

1. ORACLE     www.2cto.com  

SELECT * FROM TABLE1 WHERE ROWNUM

2. INFORMIX 

SELECT FIRST N * FROM TABLE1 where 1=1 

3. DB2 

SELECT * ROW_NUMBER() OVER(ORDER BY COL1 DESC) AS ROWNUM WHERE ROWNUM

或者 

SELECT COLUMN FROM TABLE where 1=1 FETCH FIRST N ROWS ONLY 

4. SQL SERVER 

SELECT TOP N * FROM TABLE1 where 1=1 

or 

SET ROWCOUNT N SELECT * FROM TABLE1 where 1=1 SET ROWCOUNT N1 

5. SYBASE 

SET ROWCOUNT N SELECT * FROM TABLE1 where 1=1 SET ROWCOUNT N1 

6. MYSQL 

SELECT * FROM TABLE1 where 1=1 LIMIT N 

7. FOXPRO 

SELECT * TOP N FROM TABLE ORDER BY COLUMN 

8. ACCESS 

SELECT TOP N * FROM TABLE1 where 1=1

 

 1. Oracle数据库

  

  SELECT * FROM TABLENAME WHERE ROWNUM

  

  2. Infomix数据库

  

  SELECT FIRST N * FROM TABLENAME

  

  3. DB2数据库

  

  SELECT *

  FROM (SELECT * ROW_NUMBER() OVER({ORDER BY COL1 DESC}) AS ROWNUM FROM TABLENAME)

  WHERE ROWNUM

  或者

  SELECT COLUMN FROM TABLENAME FETCH FIRST N ROWS ONLY

  

  4. SQL Server数据库

  

  SELECT TOP N * FROM TABLENAME

  

  5. Sybase数据库

  

  SET ROWCOUNT N

  GO

  SELECT * FROM TABLENAME

  

  6. MySQL数据库

  

  SELECT * FROM TABLENAME LIMIT N

  

  7. FoxPro数据库

  

  SELECT * TOP N FROM TABLENAME ORDER BY COLUMN 

  

  Top关键字:

  1、首先引用一位网友出错的例子,sql="select top 30 * from data where title='"&title1&"' order by id desc"

  分析出错原因:sql语句里同时存在where和top语句的时候,并且where条件列不是合适的索引,程序执行的是全表扫描,首先是查找符合where条件的记录,而这里的top限制形同虚设。如果全表是百万级别以上的数据表,那么就这么一个简单的判断,就有可能拖垮数据库。

  2、解决办法就是去掉where条件筛选语句,如果你希望使用selcet top语句,并且还要附带where条件,那么条件中的列就得是合适的索引,如聚集索引、复合索引里的主列等,同时,where条件里也要尽量避开使用函数,or,判断NULL等会引起全部扫描的语句。这一点要记住,不然执行的是全表扫描。

  3、如何选出第N条到第2N条记录呢。这样的sql语句就可以了:

  “select top n * from TABLE_NAME where id not in (select top n id from TABLE_NAME order by id desc)"

  4、对Top基本理解下(TOP 和 SET ROWCOUNT)

  SELECT 语句中的TOP子句限制单个查询返回的行数,而SET ROWCOUNT限制所有后续查询影响的行数。在很多编程任务中这些命令提供了高效率。

  

  SET ROWCOUNT在SELECT,INSERT,UPDATE OR DELETE语句中设置可以被影响的最大行数。这些设置在命令执行时马上生效并且只影响当前的会话。为了移除这个限制执行SET ROWCOUNT 0。一些实际的任务用TOP or SET ROWCOUNT比用标准的SQL命令对编程是更有效率的。让我们在几个例子中证明:

  

  在几乎所有的数据库中最流行的一个查询是请求一个列表中的前N项。在 pubs数据库案例中,我们可以查找销售最好CD的前五项。比较用TOP,SET ROWCOUNT和使用ANSI SQL的三种方案。

  (1)Select title,ytd_salesFrom titlesa Where (select count(*)From titlesb Where b.ytd_sales>a.ytd_sales)

  这个纯ANSI SQL方案执行一个效率可能很低的关联子查询,特别的在这个例子中,在ytd_sales上没有索引支持。另外,这个纯的标准SQL命令没有过滤掉在ytd_sales的空值,也没有区别多个CD间有关联的情况。

  (2)SET ROWCOUNT 5 SELECT title, ytd_salesFROM titlesORDER BY ytd_sales DESCSET ROWCOUNT 0

  (3)SELECT TOP 5 title, ytd_salesFROM titlesORDER BY ytd_sales DESC

  第二个方案使用SET ROWCOUNT来停止SELECT查询,而第三个方案是当它找到前五行时用TOP n来停止。在这种情况下,在获得结果之前我们也要有一个ORDER BY子句强制对整个表进行排序。两个查询的查询计划实际上是一样的。然而,TOP优于SET ROWCOUNT的关键点是SET必须处理ORDER BY子句所需的工作表,而TOP 不用。

  总结:在一个大表上,我们可以为表上创建一个索引以避免排序,查询将使用该索引找到前5行并停止。

  

  ROWNUM伪列:

  1、使用SELECT语句返回的结果集,希望按特定条件查询前N条记录,可以使用伪列ROWNUM。ROWNUM是对结果集加一个伪列,先查到结果集后再加上一个列,是符合条件结果的序列号;从1开始排起,只能用 = !=这些比较符合。

  ROWNUM对于等于某值的查询条件,比如查询第一条记录,可以使用ROWNUM=1作为条件;但是如果查询第二条记录写ROWNUM=2则查询不到数据,ROWNUM的=判断只对于1有效;

  2、同理,查询大于某值的查询条件,ROWNUM>n(n>1的自然数)这种条件不成立;那如何查询第一行以后的记录呢?

  solution:用子查询解决,但是必须为rownum设置别名,"select * from (select rownum no ,id,name from table1) where no >1";

  3、ROWNUM对于小于某值的查询是可以的,select * from table1 where rownum

  4、ROWNUM和排序

  Oracle中rownum是在取数据时产生的序号,想对指定排序的数据指定rownum行数据就要做处理了:

  "select rownum,id,name from table1 order by name",查询结果按name排序,但是rownum不是按1、2、3...排列,而是按记录插入时的顺序给记录排号;

  solution:使用子查询,select rownum ,id,name from(select * from table1 order by name)

 

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimanakah bahasa Go melaksanakan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan pangkalan data? Bagaimanakah bahasa Go melaksanakan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan pangkalan data? Mar 27, 2024 pm 09:39 PM

Bahasa Go ialah bahasa pengaturcaraan yang cekap, ringkas dan mudah dipelajari Ia digemari oleh pembangun kerana kelebihannya dalam pengaturcaraan serentak dan pengaturcaraan rangkaian. Dalam pembangunan sebenar, operasi pangkalan data adalah bahagian yang sangat diperlukan Artikel ini akan memperkenalkan cara menggunakan bahasa Go untuk melaksanakan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan pangkalan data. Dalam bahasa Go, kami biasanya menggunakan perpustakaan pihak ketiga untuk mengendalikan pangkalan data, seperti pakej sql yang biasa digunakan, gorm, dsb. Di sini kami mengambil pakej sql sebagai contoh untuk memperkenalkan cara melaksanakan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan pangkalan data. Andaikan kami menggunakan pangkalan data MySQL.

Bagaimanakah Hibernate melaksanakan pemetaan polimorfik? Bagaimanakah Hibernate melaksanakan pemetaan polimorfik? Apr 17, 2024 pm 12:09 PM

Pemetaan polimorfik hibernate boleh memetakan kelas yang diwarisi ke pangkalan data dan menyediakan jenis pemetaan berikut: subkelas bercantum: Cipta jadual berasingan untuk subkelas, termasuk semua lajur kelas induk. table-per-class: Cipta jadual berasingan untuk subkelas, yang mengandungi hanya lajur khusus subkelas. union-subclass: serupa dengan joined-subclass, tetapi jadual kelas induk menggabungkan semua lajur subclass.

iOS 18 menambah fungsi album 'Dipulihkan' baharu untuk mendapatkan semula foto yang hilang atau rosak iOS 18 menambah fungsi album 'Dipulihkan' baharu untuk mendapatkan semula foto yang hilang atau rosak Jul 18, 2024 am 05:48 AM

Keluaran terbaharu Apple bagi sistem iOS18, iPadOS18 dan macOS Sequoia telah menambah ciri penting pada aplikasi Photos, yang direka untuk membantu pengguna memulihkan foto dan video yang hilang atau rosak dengan mudah disebabkan pelbagai sebab. Ciri baharu ini memperkenalkan album yang dipanggil "Dipulihkan" dalam bahagian Alat pada apl Foto yang akan muncul secara automatik apabila pengguna mempunyai gambar atau video pada peranti mereka yang bukan sebahagian daripada pustaka foto mereka. Kemunculan album "Dipulihkan" menyediakan penyelesaian untuk foto dan video yang hilang akibat kerosakan pangkalan data, aplikasi kamera tidak disimpan ke pustaka foto dengan betul, atau aplikasi pihak ketiga yang menguruskan pustaka foto. Pengguna hanya memerlukan beberapa langkah mudah

Apr 09, 2024 pm 12:36 PM

HTML tidak boleh membaca pangkalan data secara langsung, tetapi ia boleh dicapai melalui JavaScript dan AJAX. Langkah-langkah termasuk mewujudkan sambungan pangkalan data, menghantar pertanyaan, memproses respons dan mengemas kini halaman. Artikel ini menyediakan contoh praktikal menggunakan JavaScript, AJAX dan PHP untuk membaca data daripada pangkalan data MySQL, menunjukkan cara untuk memaparkan hasil pertanyaan secara dinamik dalam halaman HTML. Contoh ini menggunakan XMLHttpRequest untuk mewujudkan sambungan pangkalan data, menghantar pertanyaan dan memproses respons, dengan itu mengisi data ke dalam elemen halaman dan merealisasikan fungsi HTML membaca pangkalan data.

Bagaimana untuk mengendalikan ralat sambungan pangkalan data dalam PHP Bagaimana untuk mengendalikan ralat sambungan pangkalan data dalam PHP Jun 05, 2024 pm 02:16 PM

Untuk mengendalikan ralat sambungan pangkalan data dalam PHP, anda boleh menggunakan langkah berikut: Gunakan mysqli_connect_errno() untuk mendapatkan kod ralat. Gunakan mysqli_connect_error() untuk mendapatkan mesej ralat. Dengan menangkap dan mengelog mesej ralat ini, isu sambungan pangkalan data boleh dikenal pasti dan diselesaikan dengan mudah, memastikan kelancaran aplikasi anda.

Tutorial terperinci tentang mewujudkan sambungan pangkalan data menggunakan MySQLi dalam PHP Tutorial terperinci tentang mewujudkan sambungan pangkalan data menggunakan MySQLi dalam PHP Jun 04, 2024 pm 01:42 PM

Cara menggunakan MySQLi untuk mewujudkan sambungan pangkalan data dalam PHP: Sertakan sambungan MySQLi (require_once) Cipta fungsi sambungan (functionconnect_to_db) Fungsi sambungan panggilan ($conn=connect_to_db()) Laksanakan pertanyaan ($result=$conn->query()) Tutup sambungan ( $conn->close())

Petua dan amalan untuk mengendalikan aksara Cina bercelaru dalam pangkalan data dengan PHP Petua dan amalan untuk mengendalikan aksara Cina bercelaru dalam pangkalan data dengan PHP Mar 27, 2024 pm 05:21 PM

PHP ialah bahasa pengaturcaraan bahagian belakang yang digunakan secara meluas dalam pembangunan laman web Ia mempunyai fungsi operasi pangkalan data yang kuat dan sering digunakan untuk berinteraksi dengan pangkalan data seperti MySQL. Walau bagaimanapun, disebabkan kerumitan pengekodan aksara Cina, masalah sering timbul apabila berurusan dengan aksara Cina bercelaru dalam pangkalan data. Artikel ini akan memperkenalkan kemahiran dan amalan PHP dalam mengendalikan aksara bercelaru bahasa Cina dalam pangkalan data, termasuk punca biasa aksara bercelaru, penyelesaian dan contoh kod khusus. Sebab biasa aksara bercelaru ialah tetapan set aksara pangkalan data yang salah: set aksara yang betul perlu dipilih semasa mencipta pangkalan data, seperti utf8 atau u

Bagaimana untuk menggunakan fungsi panggil balik pangkalan data di Golang? Bagaimana untuk menggunakan fungsi panggil balik pangkalan data di Golang? Jun 03, 2024 pm 02:20 PM

Menggunakan fungsi panggil balik pangkalan data di Golang boleh mencapai: melaksanakan kod tersuai selepas operasi pangkalan data yang ditentukan selesai. Tambah tingkah laku tersuai melalui fungsi berasingan tanpa menulis kod tambahan. Fungsi panggil balik tersedia untuk operasi memasukkan, mengemas kini, memadam dan pertanyaan. Anda mesti menggunakan fungsi sql.Exec, sql.QueryRow atau sql.Query untuk menggunakan fungsi panggil balik.

See all articles