![](/img/trans.png)
[英]MySQL select rows by max(column) by another column in SQL while using GROUP BY WEEK?
[英]Mysql, How to group a set of rows by using the max value of another column?
我有一个表可能有一行或多行具有相同的key_property列值。
我想在MySql中构建一个查询,该查询返回一个集合,其中key_property的每个值仅表示其中一个相应的行,并且它还接收一个类似句子的key_property过滤器 ,由另一列的最大值选择(例如, event_id )。
我怎样才能做到这一点?
更新:
这是未过滤表的示例:
+--------------+--------+----------+
| key_property | others | event_id |
+--------------+--------+----------+
| abcd | B | 1 |
| abcd | A | 2 |
| defg | C | 3 |
| abcd | D | 4 |
| hijk | f | 4 |
+--------------+--------+----------+
使用设置为“d”的过滤器执行查询时,结果数据应如下所示:
+--------------+--------+----------+
| key_property | others | event_id |
+--------------+--------+----------+
| abcd | D | 4 |
| defg | C | 3 |
+--------------+--------+----------+
SELECT *
FROM tab WHERE (key_property,event_id) IN
( SELECT key_property, MAX(event_id)
FROM tab
WHERE key_property like '%d%'
GROUP BY key_property
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.