📅  最后修改于: 2023-12-03 15:20:16.678000             🧑  作者: Mango
在SQL中,我们可以使用DISTINCT子句来返回一列中不同的值。但是,如果我们想在一张表中选择具有不同值的行,则需要使用SELECT语句中的GROUP BY子句。GROUP BY子句将返回一组分组数据的聚合值。
以下是在一列中选择具有不同值的行的示例代码:
SELECT column_name
FROM table_name
GROUP BY column_name
HAVING COUNT(*) = 1;
此代码将从表中选择具有不同值的行,并且仅返回该列中仅存在一次的值。GROUP BY子句按照列中的值对数据进行分组,HAVING子句将分组数据总数限定为1,从而使我们只检索到具有不同值的行。
例如,假设我们有一个名为“users”的表,其中包含名和姓两列。我们想要选择具有不同姓氏的用户。
SELECT last_name
FROM users
GROUP BY last_name
HAVING COUNT(*) = 1;
以上代码将返回仅在last_name列中出现一次的姓氏。
在这个示例中,我们使用GROUP BY和HAVING子句来选择表中具有不同姓氏的用户。这可以应用于其他类型的数据列和数据表格。