我有一个表格(让我们称之为mytable),结构如下。该表每天记录接近1百万行。
id date timestamp licenseid storeid deviceid value
1 2015-06-12 17:36:15 lic0001 1 0add -52
2 2015-06-12 17:36:15 lic0002 1 0add -54
3 2015-06-12 17:36:15 lic0003 1 0add -53
4 2015-06-12 17:36:21 lic0001 1 0add -54
5 2015-06-12 17:36:21 lic0002 1 0add -59
6 2015-06-12 17:36:21 lic0003 1 0add -62
7 2015-06-12 17:36:21 lic0004 1 0add -55
8 2015-06-12 17:36:15 lic0001 1 0bdd -53
9 2015-06-12 17:36:15 lic0002 1 0bdd -52
10 2015-06-12 17:36:15 lic0003 1 0bdd -52
11 2015-06-12 17:36:15 lic0004 1 0bdd -50
12 2015-06-12 17:36:33 lic0002 1 0bdd -54
13 2015-06-12 17:36:33 lic0003 1 0bdd -54
14 2015-06-12 17:36:33 lic0004 1 0bdd -55
15 2015-06-12 17:36:33 lic0005 1 0bdd -40
我需要使用上面相同的数据,然后按照下面的结尾将其重新排列在新表格中。我应该使用什么SQL查询来获取以下输出并将其存储在名为' newtable'的新表中。考虑我的桌子大小。许可证的数量是可变的。
id date timestamp deviceid storeid lic001 lic002 lic003 lic004 lic005....
1 2015-06-12 17:36:15 0add 1 -52 -54 -53
2 2015-06-12 17:36:21 0add 1 -54 -59 -62 -55
3 2015-06-12 17:36:15 0bdd 1 -53 -52 -52 -50
4 2015-06-12 17:36:33 0bdd 1 -54 -54 -55 -40
我需要这样做,以便为每个商店的每个时间戳执行每个deviceid的计算,并根据已知的等式和使用单独的许可证值,为每个值达到转换,最后为每个时间戳每个商店的每个设备ID提供一个唯一值。