我正在编写一个视频游戏并使用 MySQL 显示一个图标,显示玩家宝藏所在的位置。数据库按 X 和 Y 将位置存储在方形地图上。我还想计算每个正方形上的项目数。
所以给定一张这样的表
Id x y
== == ==
1 2 3
2 3 2
3 3 2
4 4 4
5 4 4
6 4 4
我想返回一些东西
x y count
= = =====
4 4 3
3 2 2
2 3 1
我正在编写一个视频游戏并使用 MySQL 显示一个图标,显示玩家宝藏所在的位置。数据库按 X 和 Y 将位置存储在方形地图上。我还想计算每个正方形上的项目数。
所以给定一张这样的表
Id x y
== == ==
1 2 3
2 3 2
3 3 2
4 4 4
5 4 4
6 4 4
我想返回一些东西
x y count
= = =====
4 4 3
3 2 2
2 3 1
对结果使用GROUP BY
子句。
Select x, y, count(*) as 'count' from mytable group by x, y
连接你的 2 列并使用 DISTINCT 怎么样?
Select x, y, count(DISTINCT CONCAT(x, '_', y)) as 'count' from mytable group by x, y
SELECT x,y,SUM(1) FROM table GROUP BY x,y;