【发布时间】:2017-07-23 21:32:21
【问题描述】:
这个查询的结果给了我 0 行,它应该给我 3 最新的行(按 Table1.Name 分组)。 表 1 有:“名称”、“时间戳”、“电压”。 表 2 有:“名称”、“数据”。
当我删除“ORDER BY Table1.Timestamp”时,我确实得到了 3 行(如预期的那样),但它们是数据库中最旧的 3 个条目,我想要 3 个最新的条目。 (我在 Table1 和 Table2 中有 3 个 Name 值匹配)。
代码:
SELECT * from Table1
INNER JOIN Table2
ON Table1.Name=Table2.Name
GROUP BY Table1.Name
ORDER BY Table1.Timestamp;
【问题讨论】:
-
“但它们是数据库中最旧的 3 个条目,我想要 3 个最新的条目。” -- 这不是 @ 的工作987654324@。
GROUP BY不从数据库返回行。它使用数据库中的值生成它返回的值。 -
搜索带有greatest-n-per-group标签的类似问题。
-
如果你还在苦苦挣扎,请看meta.stackoverflow.com/questions/333952/…
标签: mysql group-by sql-order-by