我有一个查询获取表的记录,并统计该表的相关记录数。MySQL子查询 - 获取最新的时间戳记录和提取字段
我想要做的就是最近的一个相关表记录的text
领域,包括它在查询
SELECT DISTINCT
inst.id, inst.name, inst.state, inst.farm_status,
(SELECT COUNT(inst_note.id)
FROM project_institution_note AS inst_note
WHERE inst_note.institution_id = inst.id) AS inst_note_count,
(SELECT COUNT(c.id) FROM project_catalog AS c
WHERE c.institution_id = inst.id
AND c.status = 0
AND c.catalog_type BETWEEN 0 AND 1) AS ug_count,
(SELECT COUNT(c.id) FROM project_catalog AS c
WHERE c.institution_id = inst.id
AND c.status = 0
AND c.catalog_type BETWEEN 1 AND 2) AS grad_count,
(SELECT COUNT(c.id) FROM project_catalog AS c
WHERE c.institution_id = inst.id
AND c.status = 0
AND c.catalog_type >= 3) AS alt_count,
(SELECT COUNT(c.id) FROM project_catalog_note AS cn
INNER JOIN farmtool_catalog AS c
ON c.id = cn.catalog_id
WHERE c.institution_id = inst.id) AS catalog_note_count,
(SELECT inst_note.text FROM project_institution_note AS inst_note -- Issue portion of query
LEFT JOIN project_institution AS inst
ON inst_note.institution_id = inst.id
WHERE inst_note.institution_id = inst.id
ORDER BY inst_note.date DESC
LIMIT 1) AS latest_note
FROM project_institution AS inst
LEFT JOIN project_institution_note AS inst_note
ON inst.id = inst_note.institution_id
LEFT JOIN project_catalog AS c
ON inst.id = c.institution_id
WHERE LOWER(inst.state) = "me";
这到底是怎么发生的是它拿起最后一个记录project_institution_note
并提供text
作为查询中的值。有了这个子查询,我怎么能
- 限制
project_institution_note
到相关project_institution.id
和 - 选择选择最新的时间戳记录。
我已经完成了#2,但是我需要帮助限制#1中的结果集。有任何想法吗?
向我们显示样本数据和预期输出。 \t [**如何创建一个最小,完整和可验证的示例**](http://stackoverflow.com/help/mcve)事情是你告诉我们太多的数据与你的问题无关。所以尽量减少代码来隔离问题。 –