Sql server 将T-SQL查询转换为PostgreSQL

Sql server 将T-SQL查询转换为PostgreSQL,sql-server,postgresql,tsql,database-migration,Sql Server,Postgresql,Tsql,Database Migration,我想将此查询转换为PostgreSQL 我在“活动”列中有3个活动(已完成的订单、电子邮件、查看),我想计算每个“已完成的订单”活动之间发生的“电子邮件”活动数量,并将其保存在第一列中。 我编写此查询是为了实现上述结果,并希望将其转换为postgreSQL。仍然不确定此查询是否有效 USE tempdb GO DECLARE @Counter INT , @MaxId INT,        @activity_id NVARCHAR(100) SELECT @Counter = min(Id)

我想将此查询转换为PostgreSQL

我在“活动”列中有3个活动(已完成的订单、电子邮件、查看),我想计算每个“已完成的订单”活动之间发生的“电子邮件”活动数量,并将其保存在第一列中。 我编写此查询是为了实现上述结果,并希望将其转换为postgreSQL。仍然不确定此查询是否有效

USE tempdb
GO
DECLARE @Counter INT , @MaxId INT,        @activity_id NVARCHAR(100)
SELECT @Counter = min(Id) , @MaxId = max(Id) 
FROM activity_stream
WHILE(@activity_id = 'completed_order'
      AND @Counter <= @MaxId)
BEGIN
select @activity_id, count(*) as count from activity_stream
case
when @activity_id = 'email' then @counter = counter
else null
end;   
SET @Counter  = @Counter  + 1    
END
使用tempdb
去
声明@Counter INT、@MaxId INT、@activity\u id NVARCHAR(100)
选择@Counter=min(Id),@MaxId=max(Id)
从活动流
而(@activity_id='completed_order'

和@Counter,这是T-SQL(来自SQL Server)不是Oracle的程序语言。如果你解释一下这个查询在做什么,你可能会得到更好的答案。很多擅长Postgres的人都不知道-SQL@AnsaDhedhi你能告诉我们你试图把它转换成PL/pgSQL吗?你在哪里卡住了?你需要做你的研究,尝试一下,然后在卡住的时候发布。这个网站不是一个好网站免费代码编写服务。你为什么要使用
tempdb
呢?那么你想要的输出是什么呢?请回答你的问题(通过单击下面的链接),并添加一些示例数据和基于该数据的预期输出。有关如何创建美观的文本表的一些提示,请参阅。(您的问题-不要在注释中添加代码或附加信息)