Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.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
Teradata 如何基于一个参数获得不同的值?_Teradata - Fatal编程技术网

Teradata 如何基于一个参数获得不同的值?

Teradata 如何基于一个参数获得不同的值?,teradata,Teradata,我正在使用teradata来吸引一些员工 选择eventid,personid ......... 我只需要根据eventid参数选择distinct值,因此我希望将distinct应用于eventid,并让personid成为任何类型的第一个值 我该怎么做 如果我这样做 选择不同的eventid、personid ............ ......... 这将基于这两个参数进行区分如果您对personid lower/highest的返回值有一些偏好,则应使用ROW_NUMBER: 否则

我正在使用teradata来吸引一些员工

选择eventid,personid .........

我只需要根据eventid参数选择distinct值,因此我希望将distinct应用于eventid,并让personid成为任何类型的第一个值

我该怎么做

如果我这样做

选择不同的eventid、personid ............ .........
这将基于这两个参数进行区分

如果您对personid lower/highest的返回值有一些偏好,则应使用ROW_NUMBER:

否则,这将避免排序,因此应使用较少的资源:

select * from tab 
qualify sum(1) 
        over (partition by eventid 
              rows unbounded preceding) = 1;
select * from tab 
qualify sum(1) 
        over (partition by eventid 
              rows unbounded preceding) = 1;