Sql 如何在表上选择不同的记录
如何在SQL Server中正确执行以下查询 在运行此查询时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
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
。这是我的示例表aa11
b12
select distinct*会给我所有结果:a11
a11
b12
它真的应该是a11
b12
a11
b12
。