使用SQL获取前k条记录/表中的行

穆罕默德·尤罗

给定下面的表格,如何不使用获取表格的第一kLIMITTOP

+--------+-------+-----+
| Person | Group | Age |
+--------+-------+-----+
| Bob    | 1     | 32  |
| Jill   | 1     | 34  |
| Shawn  | 1     | 42  |
| Jake   | 2     | 29  |
| Paul   | 2     | 36  |
| Laura  | 2     | 39  |
+--------+-------+-----+

所需的结果k=3

+--------+-------+-----+
| Bob    | 1     | 32  |
| Jill   | 1     | 34  |
| Shawn  | 1     | 42  |
+--------+-------+-----+

所需的结果k=4

+--------+-------+-----+
| Bob    | 1     | 32  |
| Jill   | 1     | 34  |
| Shawn  | 1     | 42  |
| Jake   | 2     | 29  |
+--------+-------+-----+

我需要LIMIT不使用MySQL复制功能。

草莓

好的。如果不允许使用变量,您仍然可以采用这种方式...

SELECT some, stuff 
  FROM an_instance x 
  JOIN another_instance y 
    ON (y.something < x.something) 
    OR (y.something = x.something AND y.some_other_thing <= x.some_other_thing) 
 GROUP  
    BY x.something,x.some_other_thing
HAVING COUNT(*) <= whatever;

...但是在较大的数据集上缩放比例会令人震惊。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

获取表中的前100条记录

来自分类Dev

更新表SQL Server中的前1条记录

来自分类Dev

使用where条件从表中获取最新的N条记录

来自分类Dev

从表中删除前10条记录

来自分类Dev

从表中删除前10条记录

来自分类Dev

从表中获取最后200条记录

来自分类Dev

如何根据desc的devicetimestamp顺序从每个表中获取前1条记录

来自分类Dev

通过保留前100条记录从表中删除记录

来自分类Dev

从SQL Server中的存储过程结果集中获取前N条记录

来自分类Dev

使用 Bigquery(标准 SQL)获取每组分组结果的前 n 条记录

来自分类Dev

SQL查询字符串以获取表中的下N条记录

来自分类Dev

使用python中的列表理解从表中获取一条记录?

来自分类Dev

从配置单元中的表中获取最新的 2 条记录

来自分类Dev

如何在Cassandra 2.2中获取前5条记录

来自分类Dev

如何在Cassandra 2.2中获取前5条记录

来自分类Dev

获取使用的前10条命令的历史记录

来自分类Dev

Informix选择表中的前250000条记录,然后选择最后250000条记录

来自分类Dev

获取DynamoDB表中的最后N条记录

来自分类Dev

获取mysql表中的最后一条记录

来自分类Dev

获取DynamoDB表中的最后N条记录

来自分类Dev

访问中每个组sql的前n条记录

来自分类Dev

如何只从左表中获取一条记录,而右表中的每条记录

来自分类Dev

SQL生成包含多个前X条记录的表,其中前#条来自另一个表

来自分类Dev

如何从sql server中获取最后一条记录?

来自分类Dev

无法在 SQL 子查询中获取 N 条不同的记录

来自分类Dev

使用python创建表并插入两条记录SQL

来自分类Dev

从表中获取最新记录日期,SQL

来自分类Dev

如何从Redis获取前100条记录

来自分类Dev

从具有唯一标识的重复记录中获取前三条记录

Related 相关文章

  1. 1

    获取表中的前100条记录

  2. 2

    更新表SQL Server中的前1条记录

  3. 3

    使用where条件从表中获取最新的N条记录

  4. 4

    从表中删除前10条记录

  5. 5

    从表中删除前10条记录

  6. 6

    从表中获取最后200条记录

  7. 7

    如何根据desc的devicetimestamp顺序从每个表中获取前1条记录

  8. 8

    通过保留前100条记录从表中删除记录

  9. 9

    从SQL Server中的存储过程结果集中获取前N条记录

  10. 10

    使用 Bigquery(标准 SQL)获取每组分组结果的前 n 条记录

  11. 11

    SQL查询字符串以获取表中的下N条记录

  12. 12

    使用python中的列表理解从表中获取一条记录?

  13. 13

    从配置单元中的表中获取最新的 2 条记录

  14. 14

    如何在Cassandra 2.2中获取前5条记录

  15. 15

    如何在Cassandra 2.2中获取前5条记录

  16. 16

    获取使用的前10条命令的历史记录

  17. 17

    Informix选择表中的前250000条记录,然后选择最后250000条记录

  18. 18

    获取DynamoDB表中的最后N条记录

  19. 19

    获取mysql表中的最后一条记录

  20. 20

    获取DynamoDB表中的最后N条记录

  21. 21

    访问中每个组sql的前n条记录

  22. 22

    如何只从左表中获取一条记录,而右表中的每条记录

  23. 23

    SQL生成包含多个前X条记录的表,其中前#条来自另一个表

  24. 24

    如何从sql server中获取最后一条记录?

  25. 25

    无法在 SQL 子查询中获取 N 条不同的记录

  26. 26

    使用python创建表并插入两条记录SQL

  27. 27

    从表中获取最新记录日期,SQL

  28. 28

    如何从Redis获取前100条记录

  29. 29

    从具有唯一标识的重复记录中获取前三条记录

热门标签

归档