Como seleciono apenas os primeiros 10 resultados de uma consulta?
Eu gostaria de exibir apenas os primeiros 10 resultados da seguinte consulta:
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
Respostas:
No servidor SQL, use:
por exemplo
No MySQL, use:
fonte
Depende do seu RDBMS
MS SQL Server
MySQL
Sybase
Etc.
fonte
No MySQL:
fonte
A resposta ANSI SQL é
FETCH FIRST
.Se você quiser que laços sejam incluídos, faça isso
FETCH FIRST 10 ROWS WITH TIES
.Para pular um determinado número de linhas, use
OFFSET
, por exemploIrá pular as primeiras 20 linhas e, em seguida, buscar 10 linhas.
Suportado por versões mais recentes de Oracle, PostgreSQL , MS SQL Server, Mimer SQL e DB2 etc.
fonte
No SQL padrão, você pode usar:
... FETCH FIRST 10 ROWS ONLY
Isso é compatível com DB2, PostgreSQL e Oracle 12.1 (e posterior)
fonte
Oráculo
ROWNUM
é uma variável mágica que contém o número de seqüência de cada linha 1 .. n .fonte
Isso funcionou para mim. Se eu puder, tenho alguns dbscripts úteis que você pode consultar
Dbscripts úteis
fonte
O que você está procurando é uma cláusula LIMIT.
fonte
Firebird:
fonte
PostgreSQL:
fonte
fonte
fonte