当前位置: 首页 > 面试题库 >

SQL查询从双返回N行

全流觞
2023-03-14
问题内容

我想编写一个接受绑定变量(例如:NUM)的SQL查询,其输出由一列和:NUM行数组成,每一行都有其行号。也就是说,如果我们将:NUM作为7传递,则输出应为:

VAL
====
1
2
3
4
5
6
7

查询中不应有任何实际的数据库表,也不应使用PL / SQL代码。即在查询中仅应使用双重

有什么办法可以做到这一点?


问题答案:

您可以使用:

 WHERE ROWNUM <= :NUM

…但是表必须包含等于或大于bind变量限制的行。
该链接演示了Oracle中的各种行号生成技术。

使用CONNECT BY,Oracle 10g +:

SELECT LEVEL
  FROM DUAL
CONNECT BY LEVEL <= :NUM

确认monojohnny可以使用bind变量。尝试在Oracle 9i上运行,尽管CONNECT BY支持语法会导致ORA-01436错误。

我唯一不是100%的人是CONNECT BY是否会接受来自绑定变量的限制。

参考:

  • 整数系列发生器-按级别连接


 类似资料:
  • 问题内容: 我想从MySQL查询返回第二条,第三条或第四条记录(基于ID递增的查询) 问题是,我不知道ID,只是它是查询中的第三行。 问题答案: 它说从记录n开始返回一个记录。

  • 问题内容: 有没有办法从SQL查询返回二维数组?喜欢.. “选择id,x,y,z FROM测试” ..并将其返回为id => x,y,z吗?我可以做一个循环并创建第二个数组,但我想那是我可能不必做的额外工作。只是现在不熟悉SQL。 问题答案: 在PHP中,SQL查询将仅返回结果集。行和列。 您需要进一步的循环才能将其处理为您所指类型的数组。没问题,如果您经常使用它,则应将其作为数据库包装的一部分。

  • 问题内容: 桌子: 我的查询: 我收到“ MySQL子查询返回多个行”错误。 我知道此查询可以使用以下查询的解决方法: 然后使用php循环遍历结果并执行以下查询以获取和回显它: 但是我认为可能会有更好的解决方案? 问题答案: 简单的解决方法是在子查询中添加一个子句: 一个更好的选择(就性能而言)是使用联接:

  • 问题内容: 我想知道以下内容: 如何从数据库中的多个表中获取数据? 有哪些类型的方法可以做到这一点? 什么是联接和工会,它们之间有何不同? 什么时候应该使用每个与其他比较? 我打算在我的应用程序(例如,PHP)中使用此功能,但是不想对数据库运行多个查询,我需要在单个查询中从多个表中获取数据的哪些选项? 注意:我正在写这篇文章是因为我希望能够链接到有关我在PHP队列中不断遇到的众多问题的书面指南,因

  • 问题内容: 我正在尝试获取少量数据,在Excel中包含大约200个字段,并从SQL中检索数据,其中每个项目的where子句中都包含该字段。 我希望能够在excel中进行检索(希望本身无需编写任何其他代码-可能是简单的Excel ODBC或带有查询的SQL连接。因此,我的数据最终将在Excel文档中显示: 我不确定我是否足够清楚地说明自己…。 我使用的是Excel 2007,而我在其他地方也有201