如何使用SQL从数据库中选择前10个元素?

Ser*_*gey 9 mysql sql

有一个类似的查询SELECT * FROM clients ORDER BY id.我想只选择前10个元素.我怎样才能做到这一点?

PS我正在使用MySQL.

Luk*_*yes 19

SELECT * FROM clients ORDER BY id LIMIT 10;
Run Code Online (Sandbox Code Playgroud)

  • 需要注意的是,ORDER BY默认为ASC,其中DESC也是一个选项,但必须明确说明 - "ORDER BY id DESC" (4认同)

tan*_*ens 5

这是你用SELECT做的所有事情(取自这里):

SELECT
    [ALL | DISTINCT | DISTINCTROW ]
      [HIGH_PRIORITY]
      [STRAIGHT_JOIN]
      [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
      [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
    select_expr [, select_expr ...]
    [FROM table_references
    [WHERE where_condition]
    [GROUP BY {col_name | expr | position}
      [ASC | DESC], ... [WITH ROLLUP]]
    [HAVING where_condition]
    [ORDER BY {col_name | expr | position}
      [ASC | DESC], ...]
    [LIMIT {[offset,] row_count | row_count OFFSET offset}]
    [PROCEDURE procedure_name(argument_list)]
    [INTO OUTFILE 'file_name' export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name]]
    [FOR UPDATE | LOCK IN SHARE MODE]]

所以你要找的声明是:

SELECT * FROM clients ORDER BY id LIMIT 10
Run Code Online (Sandbox Code Playgroud)


Dav*_*d W 5

请注意,OFFSET 对分页非常有帮助:

限制 10 偏移 11

为 10 的第二页。


Sey*_*aei 5

尝试这个:

SELECT TOP 10 * FROM clients ORDER BY id
Run Code Online (Sandbox Code Playgroud)