我有这种格式的数据。价值是每年。
countryname 1990 1991 1992是列的名称。
尼泊尔5 10 15;印度20 25 30是行。
我想将这些数据转换为使用MYSQL查询的格式,或者只是如下所示的八度 -
countryname年份值必须是列。 行应该是这样的:尼泊尔1990年5;尼泊尔1991年10年;尼泊尔1992年15年;印度1990年5月;
答案 0 :(得分:0)
假设您的列名实际上是1990y
,1991y
等(因为您不能使用普通数字作为列名),那么您可以使用SQL获取所需的表:
SELECT countryname, 1990, 1990y FROM yourTable
UNION
SELECT countryname, 1991, 1991y FROM yourTable
UNION
SELECT countryname, 1992, 1992y FROM yourTable
在Octave,您可以这样做:
n = size(data, 1);
norm_data = [];
for y = 1990:1992
N(:,1) = data(:,1);
N(:,2) = y;
N(:,3) = data(:,y-1990+2);
norm_data(end:end+n,:) = N;
end