Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.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 如何在表上选择不同的记录_Sql_Sql Server_Sql Server 2005 - Fatal编程技术网

Sql 如何在表上选择不同的记录

Sql 如何在表上选择不同的记录,sql,sql-server,sql-server-2005,Sql,Sql Server,Sql Server 2005,如何在SQL Server中正确执行以下查询 在运行此查询时 select distinct * from dbo.TableA 它给了我错误的结果。它还显示了重复的记录 对不起,伙计们,我可能会问一个很简单的问题。。但我在谷歌上搜索了很多次,但没有得到任何有成效的结果…它没有给你重复的记录-每个“重复”的记录上都会有一些不同于其他记录上等价值的值 如果您只想查看特定列的不同组合值,请在查询中显式指定这些列-例如: select distinct columnA, columnB, colum

如何在SQL Server中正确执行以下查询

在运行此查询时

select distinct * from dbo.TableA
它给了我错误的结果。它还显示了重复的记录


对不起,伙计们,我可能会问一个很简单的问题。。但我在谷歌上搜索了很多次,但没有得到任何有成效的结果…

它没有给你重复的记录-每个“重复”的记录上都会有一些不同于其他记录上等价值的值

如果您只想查看特定列的不同组合值,请在查询中显式指定这些列-例如:

select distinct columnA, columnB, columnC from dbo.TableA

它没有给你重复的记录——每个“重复”记录上都会有一些不同于其他记录上等价值的值

如果您只想查看特定列的不同组合值,请在查询中显式指定这些列-例如:

select distinct columnA, columnB, columnC from dbo.TableA

如果没有主键字段,则查询只返回不同的记录,否则需要使用以下命令:

select distinct column_name from table_name

如果没有主键字段,则查询只返回不同的记录,否则需要使用以下命令:

select distinct column_name from table_name

使用DISTINCT不可能获得简单的行,因为这是它唯一的功能:删除重复项。请记住,如果您的表上有一个PK,那么您的所有行都将不同。如果您没有PK(听起来不太正确),那么可能您有一个datetime字段,并且只搜索日期而不搜索时间?

使用DISTINCT无法获取简单的行,因为这是它唯一的功能:删除重复项。请记住,如果您的表上有一个PK,那么您的所有行都将不同。如果您没有PK(听起来不太正确),那么您可能有一个datetime字段,并且只记录日期而不记录时间?

如果我不想提及列名,该怎么办?因为我的表格中有300列,如果我不想提及列名怎么办?因为我的表格中有300列,这是我的示例表格A
A1
A11
B12
选择distinct*会给我所有结果:
A11
A11
B12
它真的应该给出
A11
B12
@Matthew:请看我的最新答案选择这三个特定列,你只会得到
a11
b12
。这是我的示例表a
a11
b12
select distinct*会给我所有结果:
a11
a11
b12
它真的应该是
a11
b12
a11
b12