Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL:创建基于日期创建职位的视图_Sql_Views - Fatal编程技术网

SQL:创建基于日期创建职位的视图

SQL:创建基于日期创建职位的视图,sql,views,Sql,Views,我实际上在运行oracle,但当我将我的示例复制到sqlfiddle中时,如果我选择oracle而不是mysql,它将不会运行,也许oracle的fiddle版本与我的不同。 这给了我位置测试表: ID CODE REGISTRATIONDATE 01 COM002 2012-12-11 02 COM002 2012-12-12 01 COM003 2012-12-11 我想创建一个如下所示的视图: ID

我实际上在运行oracle,但当我将我的示例复制到sqlfiddle中时,如果我选择oracle而不是mysql,它将不会运行,也许oracle的fiddle版本与我的不同。

这给了我位置测试表:

  ID     CODE      REGISTRATIONDATE
  01     COM002    2012-12-11
  02     COM002    2012-12-12
  01     COM003    2012-12-11
我想创建一个如下所示的视图:

  ID     CODE      POSITION
  01     COM002    1
  02     COM002    2
  01     COM003    1
只要有,顺序并不重要
每个代码都有一个uniqe位置。

您想要
行号()
函数:

SELECT ID, code, ROW_NUMBER() OVER (PARTITION BY CODE ORDER BY CODE)
FROM Positiontest 
select pt.*,
       row_number() over (partition by code order by code) as Position
from PositionTest pt

它在SQLFIDLE上不起作用,因为您依赖于隐式数据类型转换
'2012-12-11'
不是日期,而是根据区域设置转换的字符文本。如果您使用日期文字或to_date()函数,它将起作用,例如:不知道,谢谢:)
select pt.*,
       row_number() over (partition by code order by code) as Position
from PositionTest pt