如何从sqlite中具有相同值的多行中仅获取一行?

如何从sqlite中具有相同值的多行中仅获取一行?,sqlite,Sqlite,例如,我有一个列为“name”的表“person”,其行如下所示: 1.约翰 2.杰瑞 3.杰西 约翰 5.杰西 我想要的是获得所有记录,但对于具有相同值的行,我只取1行。请告诉我如何实现这一点 在SQLite 3.7.11或更高版本中,您可以在应该唯一的列上使用GROUP BY,在任何其他列上使用MAX() SELECT Name, MAX(x) AS x, y, z... FROM person GROUP BY Name; (在早期的SQLite版本中,其他列值不一定来自同一行。)使用

例如,我有一个列为“name”的表“person”,其行如下所示:

1.约翰

2.杰瑞

3.杰西

约翰

5.杰西


我想要的是获得所有记录,但对于具有相同值的行,我只取1行。请告诉我如何实现这一点

在SQLite 3.7.11或更高版本中,您可以在应该唯一的列上使用GROUP BY,在任何其他列上使用MAX()

SELECT Name, MAX(x) AS x, y, z...
FROM person
GROUP BY Name;
(在早期的SQLite版本中,其他列值不一定来自同一行。)

使用DISTINCT如何

SELECT DISTINCT NAME, SOME_COL1, SOME_COL2 FROM PERSON;

您正在搜索的是关键字DISTINCT

从人员中选择不同的名称

无法选择其余记录,因为您有相同名称“John”的不同记录。您只能将聚合函数与关键字GROUP BY组合用于字段的其余部分


按姓名从个人组中选择姓名、最大年龄、总和(收入)

我想出来了,感谢大家的帮助,这很简单。只需使用以下查询语句:

"Select * from person group by name"

我想选择所有的列,而不是特定的列。“name”列只是为了比较,我想得到的是其他列,所以选择DISTINCT不是一个选项。