MySQL:选择仅名称不同的所有行

标签 mysql select distinct

我目前正在尝试仅在名称列中选择唯一的条目。我尝试过使用此查询,但它也不会返回相同的价格。我尝试过其他变体,但也没有成功。

SELECT DISTINCT name, price from table;

这是我正在使用的表格:

+----+-------------------+
| id | name      | price |
+----+-----------+-------+
| 1  | Henry     | 20    |
| 2  | Henry     | 30    |
| 3  | Robert    | 20    |
| 4  | Joshua    | 10    |
| 5  | Alexander | 30    |
+----+-----------+-------+

我正在寻找的输出是:

+----+-------------------+
| id | name      | price |
+----+-----------+-------+
| 1  | Henry     | 20    |
| 3  | Robert    | 20    |
| 4  | Joshua    | 10    |
| 5  | Alexander | 30    |
+----+-----------+-------+

据您所知,所需的输出仅删除了重复的名称,没有删除任何价格。我可以在上面的查询中添加一些内容以仅选择名称列中的唯一条目吗?非常感谢任何帮助,因为我尝试在这里、Google、DuckDuckGo 等上找到解决方案,但没有成功。

最佳答案

根据您的示例数据,这应该有效。

SELECT MIN(Id) AS Id, name, MIN(price) AS price 
FROM table
GROUP BY name;

关于MySQL:选择仅名称不同的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52957808/

相关文章:

php - php 代码需要简单的 sql 查询

PHP 从 mysqli_fetch_row 数组中排序结果

mysql - MySQL集群中远程数据节点启动问题

mysql - 从数据库中的 tag-post 表检索标签名称

mysql - 如何将两个 COUNT() 语句合二为一并求出差值?

html - rails 中的多选框和 Css

sql - 如何从数据库中选择所有不不同的行?

mysql - 奇怪的查询速度问题

mysql - 如何在检索数据时删除重复的行

java-8 - "unordered"如何帮助 "distinct()"和 "groupingBy"