SQL 根据表中最新的 150 个条目计算元素

我正在尝试更改我现在拥有的两个 SQL 查询,以便除了从表中给我一个结果之外,它只根据表中最新的 150 个条目为我提供结果。


我现在的两个问题是:


SELECT COUNT(*)

FROM `stock`.`replacements.archive`

WHERE `ciref` = '$cihistory'


SELECT `req_model`, COUNT(`req_model`) AS `value_occurrence`

FROM `stock`.`replacements.archive`

GROUP BY `req_model`

ORDER BY `value_occurrence` DESC LIMIT 5

我有办法实现这一目标吗?表中的 id 字段正常使用,所以猜测会使用它,但我不确定如何实现它


这里的目的是仅根据表中最新的 150 个条目对变量进行计数,我不想计算表中的所有内容。


任何人有任何想法,将不胜感激!


犯罪嫌疑人X
浏览 88回答 1
1回答

慕码人2483693

假设你有一个 autoincremnt id,你可以选择最新的 150 个条目作为    SELECT *     FROM `stock`.`replacements.archive`     ORDER BY id limit 150 然后对该子查询执行查询    SELECT `req_model`, COUNT(`req_model`) AS `value_occurrence`     FROM (          SELECT *         FROM `stock`.`replacements.archive`         ORDER BY id DESC  limit 150     ) t    GROUP BY `req_model`     ORDER BY `value_occurrence` 
打开App,查看更多内容
随时随地看视频慕课网APP