sql >> Databáze >  >> RDS >> Mysql

MySql:Inicializujte proměnnou mySql uvnitř dotazu

Proměnnou v poddotazu nemusíte inicializovat. Místo toho můžete proměnnou inicializovat pomocí 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. Islands T-SQL Challenge

  2. Existuje způsob, jak získat ID automatického přírůstku z připraveného příkazu

  3. Vytvořte funkci prostřednictvím MySQLdb

  4. Jak udělat tento eav dotaz, aby byl horizontální výsledek