0
我有一個表,看起來像這樣計數:MySQL查詢得到的唯一錯誤代碼
# ITEM, operating_system, error_code
B01NCUBH43, mac, ['E141202', 'E20012']
B01N4MN9PL, mac, ['E141202', 'E20012']
B06XKH8NXM, win, ['E141202', 'E20012']
B01N3AZUH8, mac, ['E00101', 'E141202']
B06XRRQ8QV, win, ['E00101', 'E141202']
B01NAZ2I1H, mac, ['E00101', 'E141202']
B06XKHJ39Q, mac, ['E141202', 'E20012']
我需要找到的每個操作系統的每個錯誤代碼的計數。我寫了這個SQL,它給了我正確的答案。但是,它不是一個通用的可擴展解決方案,因爲error_codes是硬編碼的,將來可能會出現新的錯誤代碼。
SELECT Platform,
E141202,
E20012
from
(SELECT
(CASE WHEN operating_system = 'Win'
THEN 'Windows'
WHEN operating_system = 'Mac'
THEN 'Mac'
END) Platform,
COUNT(CASE WHEN tag like 'liveItem' THEN ITEM END) total_runs,
COUNT(CASE WHEN error_code like '%E141202%' THEN ITEM END) E141202,
COUNT(CASE WHEN error_code like '%E20012%' THEN ITEM END) E20012
FROM CrossPlatformYield where tag = 'liveItem'
GROUP BY Platform)a;
有沒有什麼辦法讓唯一的錯誤代碼列表和使用,這在每個操作系統的每個錯誤代碼的計數到達執行上述計算?我最好不要使用MySQL查詢來完成它。在最糟糕的情況下,我可以寫一個腳本。
我沒有得到你所提供的SQL正確的答案。錯誤的數量可能更多。最大10。 –