我正在尝试更改我现在的两个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个条目对变量进行计数,我不想对表中的所有内容进行计数。
任何人有任何想法,将非常感谢!
谢谢
假设您有一个autoincremnt id,您可以选择最新的150条目为
SELECT *
FROM `stock`.`replacements.archive`
ORDER BY id limit 150
然后在此usbqoery上执行查询
SELECT `req_model`, COUNT(`req_model`) AS `value_occurrence`
FROM (
SELECT *
FROM `stock`.`replacements.archive`
ORDER BY id limit 150
) t
GROUP BY `req_model`
ORDER BY `value_occurrence`