获取表中的前100条记录

用户名

我有一个庞大的数据库,其中包含数以百万计的行,并且查询中包含多个表。我想测试我的查询,以便知道我的查询是否工作正常。

如果我运行查询,它将花费数小时才能给出查询的输出,并且在oracle中了解到Rownum之后,我尝试了该操作,但rownum仅在查询执行后才执行。

有什么快速的方法来测试我的查询,以便我可以显示前100行。

select 
p.attr_value product,
m.attr_value model,
u.attr_value usage,
l.attr_value location
    from table1 t1 join table2 t2 on t1.e_subid = t2.e_subid
                   join table4 t4 on t4.loc_id = t1.loc_id
                   join table3 p  on t2.e_cid = p.e_cid 
                   join table3 m  on t2.e_cid = m.e_cid 
                   join table3 u  on t2.e_cid = u.e_cid 
  Where
      t4.attr_name = 'SiteName' 
      and p.attr_name  = 'Product'
      and m.attr_name  = 'Model'
      and u.attr_name  = 'Usage'
      order by product,location;

尝试1:获取前100个查询的结果

select 
p.attr_value product,
m.attr_value model,
u.attr_value usage,
l.attr_value location
    from table1 t1 join table2 t2 on t1.e_subid = t2.e_subid
                   join table4 t4 on t4.loc_id = t1.loc_id
                   join table3 p  on t2.e_cid = p.e_cid 
                   join table3 m  on t2.e_cid = m.e_cid 
                   join table3 u  on t2.e_cid = u.e_cid 
  Where
      ROWNUM <= 100 
      and t4.attr_name = 'SiteName' 
      and p.attr_name  = 'Product'
      and m.attr_name  = 'Model'
      and u.attr_name  = 'Usage'
      order by product,location;

我确实尝试了上述方法,但在几分钟内就得到了一些结果,但是不确定这是否是正确的方法...您怎么看?

拉胡尔·特里帕蒂(Rahul Tripathi)

尝试此操作以获取100条记录:

  select 
p.attr_value product,
m.attr_value model,
u.attr_value usage,
l.attr_value location
    from table1 t1 join table2 t2 on t1.e_subid = t2.e_subid
                   join table4 t4 on t4.loc_id = t1.loc_id
                   join table3 p  on t2.e_cid = p.e_cid 
                   join table3 m  on t2.e_cid = m.e_cid 
                   join table3 u  on t2.e_cid = u.e_cid 
  Where
      t4.attr_name = 'SiteName' 
      and p.attr_name  = 'Product'
      and m.attr_name  = 'Model'
      and u.attr_name  = 'Usage'
      and ROWNUM <= 100
      order by product,location;

还要注意,Oracle在返回结果后将rownum应用于结果。

但是,您可以尝试使用以下方法检查表中是否存在该值:

select case 
            when exists (select 1
        from table1 t1 join table2 t2 on t1.e_subid = t2.e_subid
                       join table4 t4 on t4.loc_id = t1.loc_id
                       join table3 p  on t2.e_cid = p.e_cid 
                       join table3 m  on t2.e_cid = m.e_cid 
                       join table3 u  on t2.e_cid = u.e_cid 
      Where
          t4.attr_name = 'SiteName' 
          and p.attr_name  = 'Product'
          and m.attr_name  = 'Model'
          and u.attr_name  = 'Usage'
          order by product,location;
) 
    then 'Y' 
            else 'N' 
        end as rec_exists
from dual;

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

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

来自分类Dev

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

来自分类Dev

如何从Redis获取前100条记录

来自分类Dev

如何在iPhone的sqlite表中获取最后10条添加的记录

来自分类Dev

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

来自分类Dev

从表中删除前10条记录

来自分类Dev

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

来自分类Dev

如何通过排除组数组来获取MySQL表的前N条记录?

来自分类Dev

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

来自分类Dev

如何从vb .net中的ms访问表中获取下一条记录

来自分类Dev

如何根据条件从linq查询中获取100条记录

来自分类Dev

修剪表500条记录中JPQL

来自分类Dev

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

来自分类Dev

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

来自分类Dev

查询DynamoDB表以按创建日期获取前100条记录的顺序

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

从顶部开始获取每100条记录

来自分类Dev

从表中删除前10条记录

来自分类Dev

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

来自分类Dev

如何通过排除组数组来获取MySQL表的前N条记录?

来自分类Dev

从表中获取最后200条记录

来自分类Dev

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

来自分类Dev

获取 MySQL 中按值排序的前一条记录,而不是按索引 (MySQL 5.6.40)

来自分类Dev

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

来自分类Dev

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

Related 相关文章

  1. 1

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

  2. 2

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

  3. 3

    如何从Redis获取前100条记录

  4. 4

    如何在iPhone的sqlite表中获取最后10条添加的记录

  5. 5

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

  6. 6

    从表中删除前10条记录

  7. 7

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

  8. 8

    如何通过排除组数组来获取MySQL表的前N条记录?

  9. 9

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

  10. 10

    如何从vb .net中的ms访问表中获取下一条记录

  11. 11

    如何根据条件从linq查询中获取100条记录

  12. 12

    修剪表500条记录中JPQL

  13. 13

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

  14. 14

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

  15. 15

    查询DynamoDB表以按创建日期获取前100条记录的顺序

  16. 16

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

  17. 17

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

  18. 18

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

  19. 19

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

  20. 20

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

  21. 21

    从顶部开始获取每100条记录

  22. 22

    从表中删除前10条记录

  23. 23

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

  24. 24

    如何通过排除组数组来获取MySQL表的前N条记录?

  25. 25

    从表中获取最后200条记录

  26. 26

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

  27. 27

    获取 MySQL 中按值排序的前一条记录,而不是按索引 (MySQL 5.6.40)

  28. 28

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

  29. 29

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

热门标签

归档