Mysql 在一个查询中计算多个项目
这就是我现在得到的:Mysql 在一个查询中计算多个项目,mysql,count,Mysql,Count,这就是我现在得到的: SELECT `p`.`name`, SUM(`count`) FROM `player_items` LEFT JOIN `players` `p` ON (`p`.`id` = `player_items`.`player_id`) WHERE `itemtype` IN (2148, 2152, 2160) GROUP by `player_id`, `itemtype` 它提取ID为2148、2152、2160的项目类型的玩家名称和总和 我需要重写此查询,以便它为
SELECT `p`.`name`, SUM(`count`) FROM `player_items`
LEFT JOIN `players` `p` ON (`p`.`id` = `player_items`.`player_id`)
WHERE `itemtype` IN (2148, 2152, 2160) GROUP by `player_id`, `itemtype`
它提取ID为2148、2152、2160的项目类型的玩家名称和总和
我需要重写此查询,以便它为每个ID选择items count,结果如下所示:
| NAME | ITEM | COUNT |
| Player | 2148 | 10 |
| Player | 2152 | 760 |
| Player | 2160 | 0 |
| NAME | ITEM | COUNT |
| Player1 | 2148 | 890 |
| Player1 | 2152 | 5560 |
| Player1 | 2160 | 2584 |
PLAYER_NAME | 2148 | 10
PLAYER_NAME | 2148 | 4
PLAYER_NAME | 2148 | 4
PLAYER_NAME | 2152 | 60
PLAYER_NAME | 2152 | 20
PLAYER_NAME | 2160 | 100
结构:
Table name = player_items
ITEM ID(2148, 2152, 2160) - itemtype
ITEM COUNT - count.
请记住,每个项目id可以有其他“计数”值,例如,对于“玩家\项目”表中的一名玩家,该值如下所示:
| NAME | ITEM | COUNT |
| Player | 2148 | 10 |
| Player | 2152 | 760 |
| Player | 2160 | 0 |
| NAME | ITEM | COUNT |
| Player1 | 2148 | 890 |
| Player1 | 2152 | 5560 |
| Player1 | 2160 | 2584 |
PLAYER_NAME | 2148 | 10
PLAYER_NAME | 2148 | 4
PLAYER_NAME | 2148 | 4
PLAYER_NAME | 2152 | 60
PLAYER_NAME | 2152 | 20
PLAYER_NAME | 2160 | 100
如果你什么都没有得到,请告诉我。我不太确定你有什么问题。您不只是想返回项目id(称为itemtype)吗
这是一个社区wiki,因此如果需要可以更正。我不太确定您的问题是什么。您不只是想返回项目id(称为itemtype)吗
这是一个社区wiki,因此可以根据需要进行更正。此外,除非缺少玩家,否则您可能需要内部连接。此外,除非缺少玩家,否则您可能需要内部连接