mysql - 使用大于索引 ID 添加附加索引以选择查询和获取结果
问题描述
我有一个表,现在我正在通过添加一个附加索引来获取结果,但我想使用大于运算符来获取结果到附加索引 id
这个查询给了我这个
SET @a:=0;
SELECT @a:=@a+1 additional_id, output.*
FROM (SELECT sum(item_sale + item_viewed) as totalSum ,item_id FROM items WHERE item_active='1' GROUP BY item_id order by totalSum desc ) output
附加标识 | item_id | 总和 |
---|---|---|
1 | 3 | 17 |
2 | 1 | 5 |
3 | 2 | 2 |
但我想使用大于运算符并希望得到这样的结果,如果 additional_id > 1 然后只找到 2 个结果
附加标识 | item_id | 总和 |
---|---|---|
2 | 1 | 5 |
3 | 2 | 2 |
我怎么能做到这一点?
解决方案
SELECT *
FROM (
-- your query
SELECT @a:=@a+1 additional_id, output.*
FROM (SELECT sum(item_sale + item_viewed) as totalSum ,item_id FROM items WHERE item_active='1' GROUP BY item_id order by totalSum desc ) output
-- end of your query
CROSS JOIN (SELECT @a:=0) init_variable
) AS subquery
WHERE additional_id > 1
推荐阅读
- python - 只有在没有异常的情况下才枚举
- node.js - api 在“for of”循环中调用 axios,而不是异步
- mysql - “GRANT ALL ON database.* TO 命令中的错误
- data-structures - 在这个无向图中,我如何从一个组件跳到另一个组件?
- python - 用于数值计算的多处理简单代码
- reactjs - 将 react-admin 文本输入的“defaultValue”和“source”映射到同一对象的两个不同属性
- javascript - 尝试通过 api 中的数组进行 .map 时收到错误消息
- sql - 如何计算不同的行并将它们全部放在 SQL 中的同一张表中?
- sql - 根据第二个表在行中填充值
- php - 验证并保存一组对象 laravel 6、vue、axios