0
我们拥有以下SQL。按产品ID和数量分组。限制6.查询和下面的示例输出。SQL,按列数选择最大列数
现在,假设我希望Group by product_id and count. Limit 6.
基于表012中的最后1000条记录?所以不是整个表格,而是基于最后1000条记录的组数/计数。这可以做到吗?
我已经使用LIMIT来捕获顶部6.但是有没有办法限制计数的列的数量?分组到MAX?
希望这是明确的
THX,肖恩
SELECT `t`.`product_id` AS `id`, COUNT(*) AS `cnt`
FROM `sofreport_viewed_product_index` AS `t` WHERE (t.product_id != '24')
AND (t.store_id = '1') GROUP BY `t`.`product_id` ORDER BY `cnt` DESC LIMIT 6
id cnt
9 239
440 179
216 169
10 157
494 126
500 118
你有一个标识列? I.e,HAVING id_col> max(id_col) - 1000 – nshah
如果你真的只谈论一千行,为什么不为一千行做一个子查询呢?或者对于这个问题,你甚至可能会很懒,创建一个视图,它只是基表的select * ORDER BY insert_date DESC LIMIT 1000'。我对标题中的“最多列数”感到困惑,因为您似乎在询问最大行数,除非我误解了您。 –
如何定义“最近的1000条记录”?你的意思是最后添加的1000条记录 - 如果是这样,你是否有一个字段来标识该行何时添加?或者你的意思是最高的1000个计数?答案真的取决于你对“最后1000条记录”的定义。 – Russ