Wie wähle ich nur die ersten 10 Ergebnisse einer Abfrage aus?
Ich möchte nur die ersten 10 Ergebnisse der folgenden Abfrage anzeigen:
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
Antworten:
Verwenden Sie in SQL Server:
z.B
Verwenden Sie in MySQL:
quelle
Hängt von Ihrem RDBMS ab
MS SQL Server
MySQL
Sybase
Etc.
quelle
In MySQL:
quelle
Die ANSI SQL-Antwort lautet
FETCH FIRST
.Wenn Sie möchten, dass Krawatten aufgenommen werden, tun Sie dies
FETCH FIRST 10 ROWS WITH TIES
stattdessen.Um eine bestimmte Anzahl von Zeilen zu überspringen, verwenden Sie
OFFSET
zÜberspringt die ersten 20 Zeilen und ruft dann 10 Zeilen ab.
Unterstützt von neueren Versionen von Oracle, PostgreSQL , MS SQL Server, Mimer SQL und DB2 usw.
quelle
In Standard-SQL können Sie Folgendes verwenden:
... FETCH FIRST 10 ROWS ONLY
Dies wird in DB2, PostgreSQL und Oracle 12.1 (und höher) unterstützt.
quelle
Orakel
ROWNUM
ist eine magische Variable, die die Sequenznummer 1 jeder Zeile enthält. n .quelle
Das hat bei mir funktioniert. Wenn ich darf, habe ich ein paar nützliche DBScripts, die Sie sich ansehen können
Nützliche DBScripts
quelle
Was Sie suchen, ist eine LIMIT-Klausel.
quelle
Feuervogel:
quelle
PostgreSQL:
quelle
quelle
quelle