繁体   English   中英

SQL-如何从内部语句中选择TOP 5

[英]SQL - How to select TOP 5 from inner statement

我有以下查询正常工作。

 SELECT * 
    FROM (
         SELECT * 
         FROM table 
         WHERE name IS NULL 
         ORDER BY date DESC 
         LIMIT 20
         ) AS T 
    ORDER BY date ASC;

我想要的是选择该sql select查询的前5条记录。 因此,根据我阅读的帖子,我只需要添加TOP5。请参见以下内容:

 SELECT TOP 5 * 
        FROM (
             SELECT * 
             FROM table 
             WHERE name IS NULL 
             ORDER BY date DESC 
             LIMIT 20
             ) AS T 
        ORDER BY date ASC;

不幸的是,mysql告诉我存在语法错误,但我不明白。 预先感谢您的答复。 干杯。

只需添加另一个限制即可。

 SELECT * 
    FROM (
         SELECT * 
         FROM table 
         WHERE name IS NULL 
         ORDER BY date DESC 
         LIMIT 20
         ) AS T 
    ORDER BY date ASC
    LIMIT 5;

不是所有数据库都支持TOP子句

由于它仅用于限制结果数,因此您可以使用LIMIT

    SELECT  * 
    FROM (
        SELECT * 
        FROM table 
        WHERE name IS NULL 
        ORDER BY date DESC 
        LIMIT 20
    ) AS T 
    ORDER BY date ASC
    LIMIT 5;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM