【发布时间】:2021-02-07 14:55:22
【问题描述】:
我有这段代码来获取列表中所有项目的用户数和平均级别。
select itemId,count(c.characterid) as numberOfUse, avg(maxUpgrade) as averageLevel
from items i inner join characters c on i.characterId=c.characterId
where itemid in (22001,22002,22003,22004,22005,22006,22007,22008,22009,22010,22011,22012,22013,22014,22015,22016,22030,22031,22032,22033,22034,22035,22036,22037,22038,22039,22040,22041,22042,22050,22051,22052,22053,22054,22055,22056,22057,22058,22059,22060,22070,22071,22072,22073,22074,22075,22076,22077,22085,22086,22087,22091,22092)
and attached>0
group by itemId
它确实是为符文id创建一行,为用户数量创建一行,为升级它的普通人创建一行,它对服务器的所有玩家都这样做。
我想每 10 个关卡创建一个新列,以便每 10 个关卡有统计数据,这样我就可以根据玩家等级查看更常用的物品。项目级别取决于级别,所以我只选择某个级别的方法是使用WHERE itemid>0 and itemid<10,我每10个级别执行一次,复制数据,然后将它们推送到谷歌表格中。
所以我想要一个带有列的结果:
itemid use_1-10 avg_level_1-10 use_11-20 avg_level_21-30 etc...
所以我可以一次复制所有结果,而不必重复执行 15 次相同的过程。
【问题讨论】:
标签: sql sql-server count pivot average