mysql - 从 MySQL 中的表中获取最大值、不同值

标签 mysql sql

我有一张这样的 table

-----------------------------------
|   Price   |  Brands  |  Colors  |
-----------------------------------
|    300    |     A    |   Red    |
|    200    |     B    |   Red    |
|    500    |     D    |  Green   |
|    800    |     B    |  Orange  |
|    100    |     A    |   Red    |
|    500    |     B    |  Green   |
|    200    |     C    |  Orange  |
|    400    |     D    |   Red    |

我想获得像这样的品牌和颜色最大(价格)独特

-----------------------------------
|   Price   |  Brands  |  Colors  |
-----------------------------------
|    800    |     A    |   Red    |
|           |     B    |  Green   |
|           |     D    |  Orange  |
|           |     C    |          |

我应该运行什么查询才能获得上述结果?是否可以在单个查询中获得上述结果,或者我必须使用联接等运行多个子查询才能获得此结果?

最佳答案

可以在一次查询中获得所有内容,但这不是一个好的做法,因为该数据不代表任何内容。 MySQL 是一个关系数据库管理系统(RDBMS),因此输出的数据必须具有相互关系。

在这种情况下,您需要 max(price)、distinct(brands) 和distinct(colors),它们之间没有关系,您应该进行 3 个不同的调用

关于mysql - 从 MySQL 中的表中获取最大值、不同值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33874099/

相关文章:

php - MYSQL 列的默认值无效

mysql - 在数据库SQL中测试时查询错误

mysql - 我想获得给定表中所有学生按 'subject' 分组的最大值(HA)和最大值(总计)

python - CSV 到 MySQL 上传问题

python - 如何获取删除语句的sqlalchemy查询?

mysql - 基于单列比较查询结果

sql - mysql结果集加入现有表

mysql - 使用具有两个条件和不具有条件的 WHERE 子句连接两个表

mysql - 从数据库中选择所有有喜欢和没有喜欢的人

mysql - HeidiSql 连接到旧版本的 mySQL