gpt4 book ai didi

MySQL:如何从表中选择不同的值?

转载 作者:行者123 更新时间:2023-11-29 05:18:32 25 4
gpt4 key购买 nike

我有很多行和列的巨大表格,但我只会描述其中重要的部分:

+-----------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+------------------+------+-----+---------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| name | varchar(255) | NO | | NULL | |
| artikel | int(10) unsigned | NO | IDX | NULL | |
| color | varchar(255) | NO | | NULL | |
+-----------+------------------+------+-----+---------+----------------+

示例数据:

 1    apple        1000      red
2 apple 1000 yellow
3 lemon 2000 blue
4 lem on 2000 green
5 lemon 2000 black
6 apple 1000 white
7 cherry 3000 lime
8 cherry 3000 pink
9 lemon 2000 silver
10 apple 1000 gold

如你所见,索引在 artikel 上,每个 artikel 都有一些 name(对于每个 artikel 有相同的 name) 和不同的 color。一切正常,但是 4 行有问题,name = lem on 错误,应该是 lemon.

我想选择这些行 (GROUP BY artikel),其中没有唯一的 name,但是 HAVING COUNT(name) > 1。所以我的选择将返回一行,其中 artikel = 2000

我尝试了 HAVINGDISTINCT,但没有成功。

如何做到这一点?

最佳答案

使用group byhaving:

select artikel
from exampledata
group by artikel
having min(name) <> max(name);

您还可以在 having 子句中使用 count(distinct)。但是 count(distinct) 通常需要比仅比较最小值和最大值更多的工作。

关于MySQL:如何从表中选择不同的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29253310/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com