Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.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 - Fatal编程技术网

SQL-查找列是否有多个不同的值

SQL-查找列是否有多个不同的值,sql,sql-server,Sql,Sql Server,我正在浏览一个大表中的列,我想知道该列是否有多个不同的值。我不关心这些值是什么,也不关心有多少个不同的值,如果我们有多个不同的值,我只需要返回true,即两行中该列的值不同,否则返回false。性能是我最关心的问题。在SQL中实现这一点的最佳方法是什么 编辑:表在MSSQL上有1M+行。列具有多种数据类型;有些是可空的,有些不是 我想我最初完全误解了这个问题。你想知道这些值是否都不一样,使用distinct这个词让我很反感 如果你想知道,你可以: select (case when exists

我正在浏览一个大表中的列,我想知道该列是否有多个不同的值。我不关心这些值是什么,也不关心有多少个不同的值,如果我们有多个不同的值,我只需要返回true,即两行中该列的值不同,否则返回false。性能是我最关心的问题。在SQL中实现这一点的最佳方法是什么


编辑:表在MSSQL上有1M+行。列具有多种数据类型;有些是可空的,有些不是

我想我最初完全误解了这个问题。你想知道这些值是否都不一样,使用distinct这个词让我很反感

如果你想知道,你可以:

select (case when exists (select 1 from table t2 where t2.col <> t.col)
             then 'true'
             else 'false'
        end)
from (select top 1 col from table t) t;

from子句选择任意值。exists开始寻找另一个值,并应在遇到第一个值时停止。通常情况下,我会建议在列中添加一个性能索引。

什么是一个大表?1000万张唱片?更多较少的你用的是什么服务器?神谕mySQL?MSSQL?你有一个例子行吗?您正在比较哪些数据类型?你这边有很多未回答的问题…在你想要检查的一列或多列上创建一个唯一的索引,看看这些索引是否无法创建。