我有 2 个表,使用内部联接来查询它们。
SELECT COUNT(table2.id)
FROM table2
INNER JOIN table1 ON table2.relazioneid = table1.id
WHERE table1.date > ? AND table1.date < ?
它计算 2 个日期之间报告的条目 ID。表 1 保存有关报告的信息(日期、组 ID 等),表 2 保存报告中的条目。
我想做一个几乎完全相同的查询,除了它只从这两个日期之间的最新日期的报告中选择 ID。
任何人都可以帮忙吗?我无法完全理解 MAX(date) 类型的查询——我得到的只是每个 id 的计数以及最大日期,而不仅仅是来自最大日期的那些 id。
谢谢,
我一直在想也许是一个嵌套的 SQL 查询——你能做到吗?我可以在 Google 上找到参考资料,但无法使用...类似于:
SELECT COUNT(table2.id)
FROM table2
INNER JOIN table1 ON table2.relazioneid = table1.id
WHERE table1.date > ? AND table1.date < ? AND
(
SELECT MAX(date)
FROM table1
WHERE date > ? AND date < ?
)
但是无法让它工作,当我尝试在 phpMyAdmin 中对其进行测试时,它会因为告诉我我的用户没有 SELECT 权限的错误而将我踢出去。奇怪,因为这是我以 root 身份登录的测试服务器。