gpt4 book ai didi

mySQL - 在两列中选择唯一值

转载 作者:可可西里 更新时间:2023-11-01 07:41:50 26 4
gpt4 key购买 nike

我真的找不到通过 sql 从数据库 (mySQL) 获取唯一数据的简单甚至任何解决方案。

我给个例子(简体):

表 t

fruit  | color  | weight
-----------------------
apple | red | 34
kiwi | red | 23
banana | yellow | 100
kiwi | black | 3567
apple | yellow | 23
banana | green | 2345
pear | green | 1900

现在我想要输出 - 像 distinct(apple) 和 distinct(color) 这样的东西一起排序重量描述:

kiwi   | black  | 3567
banana | green | 2345
apple | red | 34
  • 梨 |绿色//不行,因为绿色已经“用过了”
  • 香蕉 |黄色//不行,因为香蕉已经“用过”了

所以我不仅需要按水果分组,还需要按颜色分组(都是唯一的)。

任何建议或解决方案?谢谢!

最佳答案

我不清楚为什么 banana|green 优于 banana|yellow(将 RIGHT JOIN 更改为 INNER JOIN 以获得更美味的水果)所以我希望我已经理解你想做什么:

SELECT t1.fruit, t1.color, t1.weight
FROM
t AS t1
RIGHT JOIN
(
SELECT fruit, color, weight
FROM t
GROUP BY
color
) AS t2
ON
t1.fruit = t2.fruit AND t1.color = t2.color
GROUP BY fruit
ORDER BY weight DESC;

另请注意 MySQL 如何处理 hidden columns in GROUP BY .

关于mySQL - 在两列中选择唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7639830/

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