Sql server 通过sequelize.fn使用Over子句
我正在尝试使用Sql server 通过sequelize.fn使用Over子句,sql-server,node.js,aggregate-functions,sequelize.js,Sql Server,Node.js,Aggregate Functions,Sequelize.js,我正在尝试使用sequelize.fn找出使用“”的最佳方法 我的原始查询可能如下所示: SELECT Distinct [DataPoint], MIN([Value]) OVER (PARTITION BY [DataPoint]) AS [Value MIN], MAX([Value]) OVER (PARTITION BY [DataPoint]) AS [Value MAX], AVG([Value]) OVER (PARTITION BY [DataP
sequelize.fn
找出使用“”的最佳方法
我的原始查询可能如下所示:
SELECT
Distinct [DataPoint],
MIN([Value]) OVER (PARTITION BY [DataPoint]) AS [Value MIN],
MAX([Value]) OVER (PARTITION BY [DataPoint]) AS [Value MAX],
AVG([Value]) OVER (PARTITION BY [DataPoint]) AS [Value AVG],
PERCENTILE_DISC(0.5)
WITHIN GROUP
(ORDER BY [Value])
OVER
(PARTITION BY [DataPoint])
AS MedianCont
FROM [Table] AS [Table]
WHERE ([DataPoint]
IN (
...
)
)
对于MIN
,MAX
,AVG
,我可以构建一个对象数组,如下所示:
[sequelize.fn(类型,sequelize.col('table.col'),'colName']
与我的独特数据点的分组对象相结合
但是,如果我还包括PERCENTILE\u DISC
语法,我需要使用一个窗口函数,否则我会得到一个未包含在聚合函数或GROUP BY子句中的错误
不确定sequelize方法是否允许我以这种方式构造查询(除了编写原始查询)。如果我确实需要原始查询,是否可以只对PERCENTILE\u DISC
部分进行原始查询?我猜可能是全有或全无。如果您可以访问数据库本身,您是否可以使用所需的逻辑编写一个存储过程,而不是在节点中构造它?我猜它可能是全有或全无的。如果您可以访问数据库本身,是否可以使用所需的逻辑编写存储过程,而不是在节点中构造它?