首先,如果它是相关的,我使用MySQL,尽管我假设一个解决方案可以跨DB产品工作。
我有一个简单的表,只有一列。列上没有约束。在这一列中有一些简单的数据,例如。
a
a
b
c
d
d
我需要得到只出现一次的值的数量/计数。从上面的例子中,这将是2(因为只有b和c在列中出现一次)。
希望大家都清楚我不想要DISTINCT值,而想要UNIQUE值。实际上我以前已经这样做过,通过创建一个附加的表,在列上使用UNIQUE约束,然后简单地从旧表插入到新表,相应地处理重复的值。
我希望找到一个不需要临时表的解决方案,并且可以通过一个漂亮的SELECT来实现。
6条答案
按热度按时间qpgpyjmq1#
假设您的表名为
T
,字段名为F
:o8x7eapl2#
rryofs0p3#
把它放进窝里。
vnzz0bqm4#
第一个函数将返回唯一的元素,第二个函数将返回唯一元素的数量。
uujelgoq5#
难道就这么简单:
cqoc49vn6#
这就是我所做的,它的工作:
注意:我在这里使用了几个表。
CS50问题集7(pset 7)9.sql修复!!