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

MySql:एक क्वेरी के अंदर mySql वेरिएबल को इनिशियलाइज़ करें

आपको सबक्वेरी में वेरिएबल को इनिशियलाइज़ करने की ज़रूरत नहीं है। इसके बजाय आप CROSS JOIN . का उपयोग करके वेरिएबल को इनिशियलाइज़ कर सकते हैं :

SELECT time_of_day, 
       @channel_rank := IF(@current_channel = channel, 1, 
                             @channel_rank + 1) AS channel_rank, 
       @current_channel := channel AS channel,Views
FROM
(
   SELECT time_of_day,channel, SUM(Views) AS 'Views'
   FROM access_logs_meaningful_optimized
   WHERE `time_of_day` = 0
   AND playing_date = '2016-10-26' 
   GROUP BY channel
   ORDER BY SUM(views) DESC
   LIMIT 5
) AS xx
CROSS JOIN (SELECT @channel_rank := 0) var



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक टिप्पणी प्रणाली की संरचना पर सलाह

  2. प्रत्येक समूह के भीतर एक मूल्य की उच्चतम उपस्थिति

  3. MySQL JSON ऑब्जेक्ट्स का कुल योग

  4. mysql लाने सरणी

  5. mysql के लिए अद्वितीय पहचानकर्ता के रूप में एकाधिक कॉलम का प्रयोग करें