我想在MySQL中基于表中的两列创建交叉表。一个是公交车的证据编号:称为“boczny”(列中没有重复)和车道数:“linia”。我尝试将“linia”列转换为行,并计算在给定通道上看到证据总线的频率。
Acutualy我有这个,但仍然mising枢轴表(交叉表)。
请帮忙。
SELECT boczny, MIN(linia)
FROM vehicles
GROUP BY boczny
答案 0 :(得分:1)
执行此操作的典型方法是使用条件聚合:
SELECT v.boczny,
SUM(v.linia = 1) as linia_1,
SUM(v.linia = 2) as linia_2
FROM vehicles v
GROUP BY v.boczny;
或者,您可以将每个linia
放在一个单独的行中:
SELECT v.boczny, v.linia, COUNT(*)
FROM vehicles v
GROUP BY v.boczny, v.linia;