Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySql:Khởi tạo biến mySql bên trong một truy vấn

Bạn không phải khởi tạo biến trong truy vấn con. Thay vào đó, bạn có thể khởi tạo biến bằng cách sử dụng 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. Đánh giá logic MySQL có lười biếng / ngắn mạch trong mệnh đề JOIN không?

  2. Quyền truy cập PHP MySql (1045) bị từ chối đối với người dùng

  3. Số lượng thuộc tính tìm kiếm theo mặt

  4. Làm thế nào để in bản ghi từ cơ sở dữ liệu khi người dùng chọn các tùy chọn từ menu thả xuống? chương trình động

  5. Chèn nhiều giá trị trong một ô MYSQL duy nhất