Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.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
Sql server 如何在sqlserver中获取不同的记录_Sql Server_Sql Server 2008_Distinct - Fatal编程技术网

Sql server 如何在sqlserver中获取不同的记录

Sql server 如何在sqlserver中获取不同的记录,sql-server,sql-server-2008,distinct,Sql Server,Sql Server 2008,Distinct,但我需要得到如下结果: FUNDFAMILY_ID FUND_NAME REPORTSECTION_ID -------------------------------------------------------------- 172295295 VANGUARD GROWTH FUND (Retail) 126345 172295295 VANGUARD GROWTH FUND (Retail) 126354 ---

但我需要得到如下结果:

FUNDFAMILY_ID    FUND_NAME                REPORTSECTION_ID           
--------------------------------------------------------------
172295295    VANGUARD GROWTH FUND (Retail)  126345
172295295    VANGUARD GROWTH FUND (Retail)  126354
--------------------------------------------------------------
在一个存储过程中,我有一个如下的查询,它给出了重复的行

FUNDFAMILY_ID     FUND_NAME                   REPORTSECTION_ID
--------------------------------------------------------------
172295295   VANGUARD GROWTH FUND (Retail)   126345

DISTINCT关键字未给出正确的结果。请建议DISTINCT给出正确的结果,您指定的所有列的记录都是不同的。你想要什么?根据ID和描述是否唯一?您想从每组中选择另一个
ID

如果您只是想要一个任意值,您可以使用
MIN
MAX
分组方式

    INSERT INTO #TABLE_REPORTSECTIONDATA (FUND_NAME, FUNDFAMILY_ID, REPORTSECTION_ID)

                SELECT DISTINCT @FUNDNAME_TEMP , @FUNDID_TEMP, EntryPointViewsId
                FROM EntryPointViews EPV
                ORDER BY EntryPointViewsId

DISTINCT将为您提供正确的结果,您指定的所有列的记录都是不同的。你想要什么?根据ID和描述是否唯一?您想从每组中选择另一个
ID

如果您只是想要一个任意值,您可以使用
MIN
MAX
分组方式

    INSERT INTO #TABLE_REPORTSECTIONDATA (FUND_NAME, FUNDFAMILY_ID, REPORTSECTION_ID)

                SELECT DISTINCT @FUNDNAME_TEMP , @FUNDID_TEMP, EntryPointViewsId
                FROM EntryPointViews EPV
                ORDER BY EntryPointViewsId

我想您正在寻找带有分区的
ROW\u NUMBER()
,这个查询应该适合您:

SELECT ID, Description, MIN(AnotherID)
FROM EntryPointViews EPV
GROUP BY ID, Description

我想您正在寻找带有分区的
ROW\u NUMBER()
,这个查询应该适合您:

SELECT ID, Description, MIN(AnotherID)
FROM EntryPointViews EPV
GROUP BY ID, Description

这种行为和预期的一样。您将得到两行,因为这些行中的另一行不同。也许你的商业案例是获得最大值或最小值?否则,这将是正确的行为。您能提供详细信息吗?为什么您想要带有
126345
的记录,而不是带有
126354
的记录?一次一条记录应该插入到数据库中。行为与预期相同。您将得到两行,因为这些行中的另一行不同。也许你的商业案例是获得最大值或最小值?否则,这将是正确的行为。你能提供详细信息吗?为什么你想要带有
126345
的记录而不是带有
126354
的记录?一次一条记录应该插入DB。为我工作谢谢@Tim为我工作谢谢@Tim