【发布时间】:2020-09-11 06:33:20
【问题描述】:
我有一个表,它的主键是 4 列的组合,例如 column_1, column_2, column_3, column_4。此表中有一些记录具有多个值,用于<column_1, column_2> 值的相同组合。我想编写一个 SQL 查询,以便使用任意一个随机 column_3 和 column_4 组合选择不同的 column_1 和 column_2 组合。
示例: 表格
column_1 column_2 column_3 column_4
column_1_value_1 column_2_value_1 2000 america
column_1_value_1 column_2_value_1 1000 europe
column_1_value_2 column_2_value_2 3000 asia
我希望输出是
column_1_value_1 column_2_value_1 2000 america
column_1_value_2 column_2_value_2 3000 asia
或
column_1_value_1 column_2_value_1 1000 europe
column_1_value_2 column_2_value_2 3000 asia
我尝试了查询 select column_1, column_2, max(column_3), max(column_4) from table group by column_1, column_2 但这提供了输出:
column_1_value_1 column_2_value_1 2000 europe
column_1_value_2 column_2_value_2 3000 asia
此输出不正确,因为 column_3 值 2000 与 column_4 值 europe 不匹配。
有人可以根据我的要求帮我制定查询吗?
【问题讨论】:
-
" SELECT * FROM
table_nameGROUP By column_1, column_2 " 为什么你对 column_3 和 column_4 使用 max 并有具体要求。我只是根据需要触发上述查询及其输出。 -
max 与从列中获取随机值一样好,所以我使用了 max。
-
@bhargavkatakpara 您正在选择所有列,但仅按选定列分组。我认为这在概念上是不正确的
-
好的,@sagar 明白了。
标签: mysql