我有一個非規範化的表,其中我必須計算其他列中相同值的數量。 我正在使用InfiniDB Mysql存儲引擎。計數一行中重複的列值
這是我的表:
col1 | col2 | col3
------------------
A | B | B
A | B | C
A | A | A
這是我所期望的:
col1Values | col2Values | col3Values
------------------------------------
1 | 2 | 2 -- Because B is in Col2 and Col3
1 | 1 | 1
3 | 3 | 3
有什麼樣
-- function count_values(needle, haystack1, ...haystackN)
select count_values(col1, col1, col2, col3) as col1values -- col1 is needle
, count_values(col2, col1, col2, col3) as col2values -- col2 is needle
, count_values(col3, col1, col2, col3) as col3values -- col3 is needle
from table
還是我失去了一些東西簡單,會做的招? :-)
在此先感謝
羅馬