gpt4 book ai didi

mysql - 在 MySql 中选择不同列的整个记录

转载 作者:行者123 更新时间:2023-11-29 12:35:10 24 4
gpt4 key购买 nike

我有一张 table :

[myTable]
ID
Name
HairColor
NumberOfPairsOfPants

我可以轻松获取 HairColor 列表

SELECT DISTINCT HairColor FROM myTable

但我想要头发颜色不同的记录的完整内容(是的,数据库表是非规范化/冗余的,所以我不会收到逻辑错误)

伪代码

SELECT DISTINCT HairColor,* FROM myTable

语法帮助!

最佳答案

好吧,首先,SELECT DISTINCT Haircolor FROM myTable 不会给您“头发颜色不同的地方”。它为您提供所有不同的头发颜色。有点像“房间里有不同的名字”。如果有两个名为 Sally 的人,SELECT DISTINCT name 将为您提供 Sally 的一行。您正在寻找的内容有点不同。

首先,您要做的是确定哪些头发颜色是不同的,即哪些头发颜色只出现一次。为此,您需要

SELECT haircolor, COUNT(*) AS cnt FROM myTable GROUP BY haircolor HAVING cnt > 1;

完成此操作后,您将需要将这些结果与原始表连接起来,以获得与这些头发颜色相关的整个行,例如

SELECT a.* FROM myTable AS a
INNER JOIN
(SELECT SELECT haircolor, COUNT(*) AS cnt FROM myTable GROUP BY haircolor HAVING cnt > 1) AS b
ON a.haircolor = b.haircolor

关于mysql - 在 MySql 中选择不同列的整个记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26893395/

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