在MySQL中提取最大的DateTime值,由另一列
分组 >数据库查询通常需要根据多种条件检索特定数据。 经常执行的任务涉及选择包含列的最大值的行,并由另一列分类。本指南以播放器性能表作为示例演示了MySQL解决方案。
>考虑一个名为“ topten”的表,带有列id',“ home”,“ dateTime”,“ player”和“资源”的表。目的是使用每个唯一的“家庭”位置的最新(“ DateTime”)条目获取该行。在探索了各种方法(包括子征服和加入)之后,最有效的查询被证明为:
此查询在两个阶段中函数。 它首先生成一个临时表('groupedtt'),该表存储每个不同的“主页”的最大“ dateTime”。 随后,它使用“ home”和“ dateTime”作为加入条件,将“ topten”(“ tt”)加入“ ttt”)。 这样可以确保仅返回每个“家庭”的最大“ dateTime”行。
><code class="language-sql">SELECT tt.* FROM topten tt INNER JOIN (SELECT home, MAX(datetime) AS MaxDateTime FROM topten GROUP BY home) groupedtt ON tt.home = groupedtt.home AND tt.datetime = groupedtt.MaxDateTime;</code>
以上是如何在 MySQL 中检索按 Home 分区的具有最大日期时间值的行?的详细内容。更多信息请关注PHP中文网其他相关文章!