我使用Oracle上的数据库,我有一个表,它不包含任何主键、外键或任何类型的键,但是它有一个包含不同值的列。这些值在许多记录中重复,我想要一个SQL查询来检索这些记录,但不要不止一次。这张桌子是:
名称
迈克尔-法拉第
霍金
迈克尔-法拉第
罗伯特胡克
迈克尔-法拉第
尼古拉·特斯拉
尼古拉·特斯拉
霍金
托马斯·爱迪生
阿布杜斯萨拉姆
霍金
迈克尔-法拉第
艾伦·图灵
罗伯特胡克
阿尔伯特·爱因斯坦
尼古拉·特斯拉
发布于 2016-08-21 13:18:35
尝试从TABLENAME中选择不同的名称
发布于 2016-08-21 17:46:20
有两种选择。尽管输出是相同的,但性能实际上可能因数据量和所使用的数据库类型不同而有所不同。
如果有较大的数据集,请尝试这两种方法来查看哪种方法的性能最好。
备选案文1
SELECT DISTINCT column_name
FROM table_name备选案文2
SELECT column_name
FROM table_name
GROUP BY column_name而且,在这种情况下,您可能希望对结果进行排序,这是典型的。通常,在数据库服务器上处理排序比在客户端处理更有性能。您应该添加ORDER子句才能得到这个结果。
见下面的例子:
备选案文1
SELECT DISTINCT column_name
FROM table_name
ORDER BY column_name;备选案文2
SELECT column_name
FROM table_name
GROUP BY column_name
ORDER BY column_name;https://stackoverflow.com/questions/39064580
复制相似问题