Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengehadkan Keputusan Pertanyaan SQL ke Baris Teratas?

Bagaimana untuk Mengehadkan Keputusan Pertanyaan SQL ke Baris Teratas?

Patricia Arquette
Patricia Arquetteasal
2025-01-24 20:06:10644semak imbas

How to Limit SQL Query Results to the Top Rows?

Pilih beberapa baris pertama dalam pertanyaan SQL: Had keputusan

Dalam pertanyaan pangkalan data, selalunya perlu memaparkan bilangan hasil yang terhad sahaja. Sama ada disebabkan oleh pengehadan halaman atau pengoptimuman prestasi, mengetahui cara memilih hanya beberapa baris khusus pertama boleh meningkatkan operasi pangkalan data dengan ketara.

Sebagai contoh, pertimbangkan pertanyaan berikut, yang mendapatkan maklumat tentang selebriti yang disebut dalam siaran sepanjang hari lalu:

<code class="language-sql">SELECT a.names,
         COUNT(b.post_title) AS num
    FROM wp_celebnames a
    JOIN wp_posts b ON INSTR(b.post_title, a.names) > 0
    WHERE b.post_date > DATE_SUB(CURDATE(), INTERVAL 1 DAY)
GROUP BY a.names
ORDER BY num DESC</code>

Untuk memaparkan hanya 10 hasil pertama untuk pertanyaan ini, anda boleh menggunakan kaedah khusus pangkalan data untuk mencapai ini:

SQL Server:

Dalam Pelayan SQL, anda boleh menggunakan kata kunci TOP untuk menentukan bilangan baris untuk diambil semula. Sintaksnya adalah seperti berikut:

<code class="language-sql">SELECT TOP [number] ...</code>

Sebagai contoh, untuk memilih 10 baris teratas daripada pertanyaan yang diberikan, gunakan:

<code class="language-sql">SELECT TOP 10 a.names,
         COUNT(b.post_title) AS num
    FROM wp_celebnames a
    JOIN wp_posts b ON INSTR(b.post_title, a.names) > 0
    WHERE b.post_date > DATE_SUB(CURDATE(), INTERVAL 1 DAY)
GROUP BY a.names
ORDER BY num DESC</code>

MySQL:

Dalam MySQL, anda boleh menggunakan klausa LIMIT untuk mengehadkan bilangan baris yang dikembalikan. Sintaksnya adalah seperti berikut:

<code class="language-sql">... ORDER BY [column_name] [order] LIMIT [number]</code>

Sebagai contoh, untuk memilih 10 baris teratas daripada pertanyaan yang diberikan, gunakan:

<code class="language-sql">SELECT a.names,
         COUNT(b.post_title) AS num
    FROM wp_celebnames a
    JOIN wp_posts b ON INSTR(b.post_title, a.names) > 0
    WHERE b.post_date > DATE_SUB(CURDATE(), INTERVAL 1 DAY)
GROUP BY a.names
ORDER BY num DESC
LIMIT 10</code>

Atas ialah kandungan terperinci Bagaimana untuk Mengehadkan Keputusan Pertanyaan SQL ke Baris Teratas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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