Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

Google BigQuery में हज़ारों श्रेणियों के लिए डमी वैरिएबल कॉलम कैसे बनाएं?

आप नीचे "तकनीकी" का उपयोग कर सकते हैं

पहली बार क्वेरी # 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    



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MYSQL में दो स्ट्रिंग्स के बीच समानता की गणना कैसे करें

  2. MySQL में आज से रिकॉर्ड कैसे प्राप्त करें

  3. एक्सटेंशन mysqli गुम है, phpmyadmin काम नहीं करता है

  4. बेस 64 इमेज सेलेक्ट और डेटाबेस से एनकोड करने पर पाया गया धीमापन

  5. MySQL डेटाबेस की प्रत्येक तालिका में फ़ील्ड में टेक्स्ट खोजें