Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.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
Tsql 中值函数在Sql Server中的工作原理_Tsql_Aggregate Functions - Fatal编程技术网

Tsql 中值函数在Sql Server中的工作原理

Tsql 中值函数在Sql Server中的工作原理,tsql,aggregate-functions,Tsql,Aggregate Functions,在甲骨文中,它运行良好 oracle的查询如下所示 Select COMPONENT_ID, COMPONENT_NAME, POSITION_ID, POSITION_NAME, CHANNEL_ID, CHANNEL_NAME, Max(METRIC) as METRIC, Max(TTD_ATTN) as TTD_ATTN_Max,

在甲骨文中,它运行良好

oracle的查询如下所示

Select   COMPONENT_ID, 
         COMPONENT_NAME, 
         POSITION_ID, 
         POSITION_NAME, 
         CHANNEL_ID, 
         CHANNEL_NAME, 
         Max(METRIC) as METRIC, 
         Max(TTD_ATTN) as TTD_ATTN_Max, 
         Min(TTD_ATTN) as TTD_ATTN_Min, 
         Avg(TTD_ATTN) as TTD_ATTN_Avg, 
         Median(TTD_ATTN) as TTD_ATTN_Med, 
         StdDev(TTD_ATTN) as TTD_ATTN_StdDev, 
         Max(COMPONENT_NO) as COMPONENT_NO,
         DATAMONTH, 
         CHANNEL_ID||'_'||POSITION_ID as CHANNEL_POSITION,    
         CHANNEL_NAME||'_'||POSITION_NAME as CHANNEL_POSITION_NAME 
from     SCNCAAF0461A1894981868ABA.PB36E6D13A82C4609B9488950 
Group By COMPONENT_ID,
         COMPONENT_NAME,
         POSITION_ID,
         POSITION_NAME,
         CHANNEL_ID,
         CHANNEL_NAME,
         DATAMONTH
但对于SQL Server,获取错误

Select   COMPONENT_ID,
         COMPONENT_NAME,
         POSITION_ID,
         POSITION_NAME,
         CHANNEL_ID,
         CHANNEL_NAME,
         max(METRIC) AS METRIC,
         max(TTD_ATTN) AS TTD_ATTN_Max,
         min(TTD_ATTN) AS TTD_ATTN_Min,
         avg(TTD_ATTN) AS TTD_ATTN_Avg,
         Median(TTD_ATTN) AS TTD_ATTN_Med,
         stdev(TTD_ATTN) AS TTD_ATTN_StdDev,
         max(COMPONENT_NO) AS COMPONENT_NO,
         DATAMONTH,
         ISNULL(CHANNEL_ID, '') + '_' + ISNULL(POSITION_ID, '') AS CHANNEL_POSITION,
         ISNULL(CHANNEL_NAME, '') + '_' + ISNULL(POSITION_NAME, '') AS CHANNEL_POSITION_NAME 
from     SCNCAAF0461A1894981868ABA.PB36E6D13A82C4609B9488950 
Group By COMPONENT_ID,    
         COMPONENT_NAME,
         POSITION_ID,
         POSITION_NAME,
         CHANNEL_ID,
         CHANNEL_NAME,
         DATAMONTH
错误:无法正确分析Select语句。无法生成输出表


我认为他们的问题是中值函数。有人能帮忙吗?

中间值在SQL Server中不存在-甚至在SQL Server 2012中也不存在,但仍需RTM'ed


如何使用SQL Server计算中值的问题是。

据我所知,SQL Server不支持中值,至少不直接作为函数。当然,您可以使用SQL以某种方式计算中值。的可能重复项