如何仅选择查询的前10个结果?
我想只显示以下查询的前10个结果:
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
Run Code Online (Sandbox Code Playgroud)
Der*_*ger 153
在SQL Server中,使用:
select top 10 ...
Run Code Online (Sandbox Code Playgroud)
例如
select top 100 * from myTable
select top 100 colA, colB from myTable
Run Code Online (Sandbox Code Playgroud)
在MySQL中,使用:
select ... order by num desc limit 10
Run Code Online (Sandbox Code Playgroud)
mar*_*ton 40
取决于您的RDBMS
MS SQL Server
SELECT TOP 10 ...
Run Code Online (Sandbox Code Playgroud)
MySQL的
SELECT ... LIMIT 10
Run Code Online (Sandbox Code Playgroud)
SYBASE
SET ROWCOUNT 10
SELECT ...
Run Code Online (Sandbox Code Playgroud)
等等.
Ben*_*Ben 20
在MySQL中:
SELECT * FROM `table` LIMIT 0, 10
Run Code Online (Sandbox Code Playgroud)
wal*_*lyk 17
神谕
WHERE ROWNUM <= 10 and whatever_else ;
Run Code Online (Sandbox Code Playgroud)
ROWNUM是一个神奇的变量,它包含每一行的序列号1 .. n.
jar*_*rlh 17
ANSI SQL的答案是FETCH FIRST.
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
FETCH FIRST 10 ROWS ONLY
Run Code Online (Sandbox Code Playgroud)
如果你想要包括关系,请FETCH FIRST 10 ROWS WITH TIES改为.
要跳过指定的行数,请使用OFFSET,例如
...
ORDER BY num DESC
OFFSET 20
FETCH FIRST 10 ROWS ONLY
Run Code Online (Sandbox Code Playgroud)
将跳过前20行,然后获取10行.
由较新版本的Oracle,PostgreSQL,MS SQL Server,Mimer SQL和DB2等提供支持.
| 归档时间: |
|
| 查看次数: |
591698 次 |
| 最近记录: |