步骤二:维度划分打标记 将每条记录的x,y划入到对应分级中,例如:记录:A,x=1,y=2 划入等级为 A (x<=5) (y<=5)
步骤三:取维度1,维度2组合-group by的结果 SQL如下 select tagX,tagY,count(1) as cnt from (步骤二sql
步骤四:将tagX转成横轴,tagY转成纵轴 横轴:x<=5,5<x<=10,x>10 (由于纵轴需要占用一个空间所以需要虚拟一个顶级横轴)
假设矩阵采用二维数组保存//矩阵 ->字符串
StringBuilder strBuilder = new StringBuilder()
for (int i=0i<mi++)
for (int j=0j<nj++)
{
strBuilder.Append(matrix[i,j])
if (!(i==m-1 &&j==n-1))
strBuilder.Append(",")
}
String str = strBuilder.ToString()
//字符串 ->矩阵
get m
get n
int[,] matrix = new int[m, n]
String[] matrixValus = str.Split(new char[]{','})
for (int i=0i<mi++)
for (int j=0j<nj++)
matrix[i,j] = int.Parse(matrixValus[i*m + j])
CREATE TABLE matrix(
XNUMBER,
YNUMBER,
VALUENUMBER
)
/
--X,Y 可以确定矩阵中的一点,而VALUE就存放这点的值
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)