我有一个看起来像这样的表:
id feh bar
1 10 A
2 20 A
3 3 B
4 4 B
5 5 C
6 6 D
7 7 D
8 8 D
Run Code Online (Sandbox Code Playgroud)
我希望它看起来像这样:
bar val1 val2 val3
A 10 20
B 3 4
C 5
D 6 7 8
Run Code Online (Sandbox Code Playgroud)
我有这个查询,它执行此操作:
SELECT bar,
MAX(CASE WHEN abc."row" = 1 THEN feh ELSE NULL END) AS "val1",
MAX(CASE WHEN abc."row" = 2 THEN feh ELSE NULL END) AS "val2",
MAX(CASE WHEN abc."row" = 3 THEN feh ELSE …
Run Code Online (Sandbox Code Playgroud) 以下2个查询给出了不同的结果:
SELECT A.source_code, B.quantity
FROM Table_A AS A
LEFT JOIN Table_B AS B ON B.merchant_id = A.merchant_id
AND B.agent_id = A.agent_id
AND B.default IS NULL
WHERE A.month='2011-10-01'
AND B.type='600'
Run Code Online (Sandbox Code Playgroud)
和
SELECT A.source_code, B.quantity
FROM Table_A AS A
LEFT JOIN Table_B AS B ON B.merchant_id = A.merchant_id
AND B.agent_id = A.agent_id
WHERE A.month='2011-10-01'
AND B.type='600'
AND B.default IS NULL
Run Code Online (Sandbox Code Playgroud)
我假设条件对两个查询执行相同的操作,仅在不同的时间.我错过了什么吗?
不知道这是否是这个问题的正确标题,因为我是Perl的新手,但我有一个感兴趣的2列文本文件:
AB Volume
100 280
137 250
150 375
100 100
100 600
137 200
Run Code Online (Sandbox Code Playgroud)
我想总结基于AB#的卷,结果是输出
AB Instances Volume
100 3 980
137 2 450
150 1 375
Run Code Online (Sandbox Code Playgroud)
我到目前为止所做的只是在输出文件中显示不同的AB,但我很难得到体积计数的总和.
$isAB{$AB} = 1;
$isVolume{$Volume} =1;
$numAB{$AB}++;
print "AB\tInstances\tVolume\n";
for $AB (sort {$a<=>$b;} keys %numAB) {
print "$AB\t$numAB{$AB}\n";
}
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激!谢谢