आप नीचे "तकनीकी" का उपयोग कर सकते हैं
पहली बार क्वेरी # 1 चलाएं। यह क्वेरी (क्वेरी # 2) उत्पन्न करता है जिसे आपको आवश्यक परिणाम प्राप्त करने के लिए चलाने की आवश्यकता है। कृपया, हजारों श्रेणियों के साथ "जंगली" जाने से पहले मोशा की टिप्पणियों पर विचार करें:ओ)
प्रश्न #1:
SELECT 'select UserID, ' +
GROUP_CONCAT_UNQUOTED(
'sum(if(category = "' + STRING(category) + '", 1, 0)) as ' + STRING(category)
)
+ ' from YourTable group by UserID'
FROM (
SELECT category
FROM YourTable
GROUP BY category
)
परिणाम नीचे जैसा होगा - प्रश्न #2
SELECT
UserID,
SUM(IF(category = "A", 1, 0)) AS A,
SUM(IF(category = "B", 1, 0)) AS B,
SUM(IF(category = "C", 1, 0)) AS C
FROM
YourTable
GROUP BY
UserID
बेशक तीन श्रेणियों के लिए - आप इसे मैन्युअल रूप से कर सकते हैं, लेकिन हजारों के लिए यह निश्चित रूप से आपके लिए दिन बना देगा !!
क्वेरी #2 का परिणाम आपकी अपेक्षा के अनुरूप दिखेगा:
UserID A B C
1 1 1 0
2 0 0 1
3 1 1 1