中我有一個查詢:的mysql:計值的數量各組
SELECT
count(session_id_open) as opens,
count(session_id_visit) as visits,
date_intervals_open,
group_concat(date_intervals_visit)
FROM
bla
GROUP BY date_intervals_open
我得到下表。我需要的是找出出現在group_concat中的每個值的百分比。所以,基本上,我需要計算各組(data_intervals_open)值(date_intervals_visit)的數量
opens visits date_intervals_open group_concat
213 5 day (12-16) evening (17-21),evening (17-21),day (12-16),day (12-16),day (12-16)
113 0 evening (17-21) NULL
11 0 late evening (22-00) NULL
396 12 morning (5-11) morning (5-11),morning (5-11),morning (5-11),morning (5-11),morning (5-11),morning (5-11),morning (5-11),morning (5-11),morning (5-11),morning (5-11),morning (5-11),morning (5-11)
9 0 night (1-4) NULL
這大約是我需要的表格。在第一記錄晚上有40個是因爲「晚(17-21)」出現兩次並且所有出現的次數是5。五分之二* 100 = 40
opens visits date_intervals_open evening(17-21) day(12-16) morning (5-11)
213 5 day (12-16) 40 60 0
113 0 evening (17-21) NULL NULL NULL
11 0 late evening (22-00) NULL NULL NULL
396 12 morning (5-11) 0 0 100
9 0 night (1-4) NULL
PS:我用GROUP_CONCAT只是以可視化的值我在那裏。我不必使用它,因爲這將是一個額外的努力來解析它之後。
請提供'SHOW CREATE TABLE bla'和幾個樣本數據行。這就好像您在執行count(session_id_visit)時依賴於NULL。這似乎很奇怪。 –