2017-04-14 121 views
0

我想根據表中的兩列在MySQL中創建交叉表。一個是公交車的證據號碼:稱爲「boczny」(列中沒有重複)和車道號碼:「linia」。我嘗試將「linia」列轉換爲行,並計算在給定車道上看到公交車的頻率。基於兩列的SQL交叉表

Acutualy我有這個,但仍然mising樞軸表(交叉表)。

請幫忙。

SELECT boczny, MIN(linia) 
FROM vehicles 
GROUP BY boczny 

enter image description here

+0

編輯您的問題並提供樣本數據和期望的結果。 –

+0

你可以給出一個數據樣本和期望的輸出嗎? – Manngo

+0

@GordonLinoff Snap! – Manngo

回答

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; 
+0

如果我有100行,那麼我必須在SUM中輸入每一行? – Wanarka

+0

@Wanarka。 。 。您可以使用電子表格或查詢構建子句。或者,您可以在結果集中的每個* row *中單獨計數,而不是在列中。 –