mySQL - 选择两列中的唯一值
我真的找不到一个简单的解决方案,甚至无法通过 sql 找到任何解决方案来从数据库(mySQL)获取唯一的数据。
我将给出一个示例(简化的):
TABLE 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
现在我想要输出 - 像不同(苹果)和不同(颜色)在一起并排序 重量描述:
kiwi | black | 3567
banana | green | 2345
apple | red | 34
- 梨 |绿色 // 不行,因为绿色已经“用过”
- 香蕉 |黄色//不行,因为香蕉已经“使用”了,
所以我不仅需要按水果分组,还需要颜色(都是唯一的)。
有什么建议或解决方案吗?谢谢!
I really can't find a simple or even any solution via sql to get unique data from DB (mySQL).
I will give a sample (simplified):
TABLE 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
And now I want output - something like distinct(apple) and distinct(color) together and order by
weight desc:
kiwi | black | 3567
banana | green | 2345
apple | red | 34
- pear | green // is not ok, becouse green is already "used"
- banana | yellow // is not ok, becouse banana is already "used"
So I need not only group by fruit, but also color (all unique).
Any advice or solution? Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我不清楚为什么banana|green比banana|yellow更受欢迎(将
RIGHT JOIN
更改为INNER JOIN
以获得更美味的水果)所以我希望我已经理解你的意思了正在尝试这样做:另请注意MySQL如何处理隐藏GROUP BY 中的列。
I'm not clear why banana|green is preferred to banana|yellow (change
RIGHT JOIN
toINNER JOIN
for tastier fruit) so I hope I've understood what you're trying to do:Also please be aware how MySQL handles hidden columns in GROUP BY.