我在SQL Server中有一个查询,需要更改为SQLite,但我不知道如何转换ROW_NUMBER()
函数。
能帮我吗?
这是我在SQL Server中的查询
SELECT
a.*,
k.cod_ativo, k.dsc_ativo, k.dsc_codigo_os, k.cod_servico,
k.cod_instalacao, k.dsc_localizacao, k.dsc_complemento_localizacao, e.vlr_resposta_caracteristica
FROM
despacho_os a
LEFT JOIN
(SELECT
d.cod_ativo, d.dsc_ativo, c.dsc_codigo_os, c.cod_servico,
d.cod_instalacao, d.dsc_localizacao, d.dsc_complemento_localizacao,
c.us_user, c.cod_empresa, c.sgl_sistema_origem,
c.num_sequencial_despacho,
ROW_NUMBER() OVER (PARTITION BY c.NUM_SEQUENCIAL_DESPACHO, c.sgl_sistema_origem
ORDER BY c.NUM_SEQUENCIAL_DESPACHO) AS num
FROM
ativo_os c
LEFT JOIN
ativo d ON c.cod_ativo = d.cod_ativo
GROUP BY
d.cod_ativo, d.dsc_ativo, c.dsc_codigo_os, c.cod_servico,
d.cod_instalacao, d.dsc_localizacao, d.dsc_complemento_localizacao,
c.us_user, c.cod_empresa, c.sgl_sistema_origem,
c.num_sequencial_despacho) k ON a.us_user = k.us_user
AND a.cod_empresa = k.cod_empresa
AND a.sgl_sistema_origem = k.sgl_sistema_origem
AND a.num_sequencial_despacho = k.num_sequencial_despacho
LEFT JOIN
caracteristica_os e ON a.us_user = e.us_user
AND a.cod_empresa = e.cod_empresa
AND a.sgl_sistema_origem = e.sgl_sistema_origem
AND a.num_sequencial_despacho = e.num_sequencial_despacho
AND e.COD_CARACTERISTICA = 'NUM_OBRA'
WHERE
a.cod_situacao NOT IN ({0},{1},{2})
AND a.ind_situacao_os <> 4
AND (k.num = 1 OR k.num IS NULL)