Synapse SQL按需第一行不仅跳过第一行

问题描述

您好,当您设置firstrow = 2时,结果集包含错误的行。

这很容易注意到:

下面的查询查询公共数据源)返回41165。设置firstrow = 3则返回41119(我期望它应该少排1行)。

有趣的是,更改查询以选择count(*)具有预期的行为(即,如果firstrow递增,则行数将减少1)。

在对求和函数进行故障排除后,我注意到了问题,该函数返回的收益少于我的预期。

select COUNT(c1)
from openrowset(
    bulk 'https://pandemicdatalake.blob.core.windows.net/public/curated/covid-19/ecdc_cases/latest/ecdc_cases.csv',format = 'csv',parser_version = '2.0',firstrow = 2) as rows

解决方法

感谢您提出这一问题,我们已经意识到了这个问题。 对此的修复将很快降落。

在此期间,您可以使用parser_version = '1.0'

尝试使用此查询:

select COUNT(date_rep)
    from openrowset(
        bulk 'https://pandemicdatalake.blob.core.windows.net/public/curated/covid-19/ecdc_cases/latest/ecdc_cases.csv',format = 'csv',parser_version = '1.0',firstrow = 3
    ) WITH (
        [date_rep] datetime2,[day] smallint,[month] smallint,[year] smallint,[cases] smallint,[deaths] smallint,[countries_and_territories] VARCHAR (100)
) AS [r]