2012-12-29 54 views
-3

对于表中的所有列,编译唯一值列表的最有效的SQLish方式是什么?每个唯一值的记录计数是多少?对所有表列中的唯一值进行计数

如何区分具有重复值(例如国家或州代码)的列与包含名称和地址的列 - 在这种情况下,会有太多变化?

+0

对于SQL问题,您应该始终提及您正在使用的DBMS。 – AndreKR

+0

我不明白你的问题,请重新编写它,所以我们可以提供帮助。 伙计们,不要对新手站点成员采取侵略性的措施,当他们的问题不够明确时,会给予他们负面投票的问题,而不是引导他们明确地描述他们的问题。 –

+0

想想Excel以及它的列过滤如何为您提供列中所有值的列表,以及每个值的记录计数。这不是我问的问题;?)我正在寻找一种更通用的SQL方法,而不是使用某些数据库特定的实用程序。 ......我的问题的第二部分涉及专栏中的“太多独特的价值观”,因此最终会对“编码”字段(如国家或州代码)这样​​做 - 这正是我已经说过的。 ;) – user556634

回答

1

对于任何单个列,你可以这样做:

SELECT column, COUNT(*) AS column_count 
    FROM tablename 
GROUP BY column 
ORDER BY column 

没有一个简单的方法,在一个单独的语句中的所有列做到这一点;您最终会遇到最可怕的多重外部联接,并且会遇到订单问题以及需要解决的各种问题。 (例如,每个单独的列可以具有不同数量的不同值)。

问题的后半部分('如何区分')是不可思议的;你必须知道你的数据集才能做出差异化。

+0

“关闭不是一个真正的问题米奇小麦,balexandre,dasblinkenlight,布赖恩罗奇,bensiu 12年12月29日在2:45”... ...请再读一遍我的问题,然后约翰森的完美答案,然后考虑下列。你的态度和所有这些缺点是完全可悲的,因为如果一个人知道2/3的主题是为了完美地构建问题,那么就没有必要问,因为一个人足够了解剩下的1/3。乔纳森明白你不能。 – user556634

相关问题