【问题标题】:Is there an alternative to TOP in MySQL?MySQL中是否有TOP的替代品?
【发布时间】:2010-02-12 05:44:53
【问题描述】:

我想知道 MySQL 中 TOP 关键字的替代方案。我在 SQL Server 中阅读了有关 TOP 的信息。

在 MySQL 中是否有任何替代方法,或者在 MySQL 中我们可以从中获得相同功能的任何其他方法?

【问题讨论】:

    标签: sql mysql


    【解决方案1】:

    排序和限制结果:

    SELECT field1, field2
    FROM myTable
    ORDER BY field1 ASC
    LIMIT 10
    

    【讨论】:

    • 这是正确答案,但您应该查看 Pascal MARTIN 的答案以获得更深入的理解。
    【解决方案2】:

    您可以使用LIMIT 关键字(参见documentation of the SELECT instruction——它位于查询的末尾:

    select *
    from your_table
    where ...
    limit 10
    

    获取前 10 行


    甚至:

    select *
    from your_table
    where ...
    limit 5, 10
    

    要获得 10 行,从第 6 行开始(即获得第 6 到 15 行)

    【讨论】:

    • 这个人的回答总是那么酷,速度很快,很棒的人:)
    • @Avinash :我不确定我能否给出一个适用于每种情况的明确答案,但在某些情况下,它会处理您想要的更多数据 (例如,当有order by 子句时,limit 只能在order by 计算完成后应用,显然) ;;; @Sarfraz:谢谢 ;-)
    • 让我解释一下我的实际问题。我的问题是我有 9lac 记录的表。我只想测量我网页上的时间查询执行时间。所以我决定在页面上只显示一些记录,但查询应该操纵所有记录。那我该怎么办呢????
    【解决方案3】:

    是的,有limit 子句。

    示例:

        SELECT * FROM `your_table` LIMIT 0, 10 
    

    这将显示数据库中的前 10 个结果。

    【讨论】:

    • @Pascal:赞美他,我喜欢他全面的答案,而且他的速度也很快,不是你,你看我把我的评论放在帕斯卡的回答中:)
    【解决方案4】:

    mysql equivalent of top,您可以在MySql Doc

    中找到更多关于LIMIT的信息

    【讨论】:

      猜你喜欢
      • 2017-03-25
      • 1970-01-01
      • 2010-10-10
      • 2013-08-23
      • 2010-09-13
      • 2013-01-29
      • 2011-01-19
      • 2020-06-11
      相关资源
      最近更新 更多