我正在努力寻找正确的答案,在互联网上寻找如何做到这一点,我有一个加入和一个小组。当我在末尾添加一个限制时,它会限制组而不是实际结果。
SELECT COUNT(*) AS `numrows`, `people`.`age`
FROM (`events`)
JOIN `people`
ON `events`.`id` = `people`.`id`
WHERE `people`.`priority` = '1'
GROUP BY `people`.`age`
ORDER BY `numrows`
LIMIT 150
限制总是变化的,所以这需要是动态的,这个想法是错过两个表中的前 150 或 x 行,而不是限制组。
EDIT= 我想我已经解释得很糟糕了,我实际上想从 150 行或 x 开始,限制是我知道动态执行此操作的唯一方法。所以这个想法是如果最后一次搜索检索到 150 行,那么让我们说下次有 250 个结果,但我想忽略上次找到的前 150 个等。希望这更有意义。
在连接中的 WHERE 之后需要限制或开始,我认为这是唯一可以工作的地方。
编辑 SQL =
SELECT COUNT( * ) AS `numrows`, `people`.`age`
FROM (
SELECT `id`, `events`.`pid`
FROM `events`
ORDER BY `id`
LIMIT 1050
)limited
JOIN `people` ON `people`.`age` = limited.id
WHERE `people`.`priority` = '1'
GROUP BY `people`.`age`
ORDER BY `numrows` DESC
谢谢你的帮助