假设我在Select Query中定义别名'count',我想将返回的数量限制为count/5(或表的20%).
我怎样才能做到这一点?除了整数,Mysql似乎没有任何东西,而不是函数.
Bil*_*win 11
正确.该LIMIT子句采用偏移量和行数,而不是百分比.您正在考虑支持的Microsoft SQL Server SELECT TOP 20 PERCENT ...(请注意,它们都没有LIMIT或TOP在标准SQL中指定).
我会在两个查询中执行此操作:
SELECT COUNT(*) FROM MyTable WHERE ...conditions...
SELECT * FROM MyTable WHERE ...conditions... ORDER BY ...order... LIMIT ?
Run Code Online (Sandbox Code Playgroud)
用?count/5 替换参数.
您不必在单个查询中解决每个问题.
LIMIT子句可以有2个参数,必须是整数常量.
你可以尝试这样的事情
SET @skip=1; SET @numrows=(select count(*) div 5 from tbl );
PREPARE STMT FROM 'SELECT * FROM tbl LIMIT ?, ?';
EXECUTE STMT USING @skip, @numrows;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8586 次 |
| 最近记录: |