【发布时间】:2020-06-29 23:49:42
【问题描述】:
我正在使用两个子查询从同一个表中获取log_msg 和log_state。
我想问一下如何将这两个子查询转换为一个子查询,这样我就不需要两次调用同一个表了。
SELECT t1.objectId, t1.name,
(SELECT a.logs FROM logTable a WHERE a.logId = t1.logId ORDER BY id DESC LIMIT 1) AS log_msg,
(SELECT a.state FROM logTable a WHERE a.logId = t1.logId ORDER BY id DESC LIMIT 1) AS log_state,
FROM table1 t1 WHERE t1.CreateDate >= '2019-12-01';
【问题讨论】:
-
这是一个greatest-n-per-group 查询,每天都会在 Stack Overflow 上询问。参见例如stackoverflow.com/a/1313293/20860
标签: mysql sql join greatest-n-per-group