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

đạt đến giới hạn bộ nhớ với vòng lặp bên trong vòng lặp bên trong vòng lặp bên trong

Tôi sẽ tạo một phạm vi ngày và kết hợp với bảng phần của bạn và sử dụng một truy vấn duy nhất để có được thiết lập lại mong muốn, ví dụ:

SELECT dates.Date,
       coalesce(s.price, 0) AS price
FROM
  (SELECT a.Date
   FROM
     ( SELECT curdate() - INTERVAL (a.a + (10 * b.a) + (100 * c.a)) DAY AS Date, '0' AS price
      FROM
        (SELECT 0 AS a
         UNION ALL SELECT 1
         UNION ALL SELECT 2
         UNION ALL SELECT 3
         UNION ALL SELECT 4
         UNION ALL SELECT 5
         UNION ALL SELECT 6
         UNION ALL SELECT 7
         UNION ALL SELECT 8
         UNION ALL SELECT 9) AS a
      CROSS JOIN
        (SELECT 0 AS a
         UNION ALL SELECT 1
         UNION ALL SELECT 2
         UNION ALL SELECT 3
         UNION ALL SELECT 4
         UNION ALL SELECT 5
         UNION ALL SELECT 6
         UNION ALL SELECT 7
         UNION ALL SELECT 8
         UNION ALL SELECT 9) AS b
      CROSS JOIN
        (SELECT 0 AS a
         UNION ALL SELECT 1
         UNION ALL SELECT 2
         UNION ALL SELECT 3
         UNION ALL SELECT 4
         UNION ALL SELECT 5
         UNION ALL SELECT 6
         UNION ALL SELECT 7
         UNION ALL SELECT 8
         UNION ALL SELECT 9) AS c) a
   WHERE a.Date BETWEEN '$from' AND '$to'
   ORDER BY a.Date) dates
LEFT JOIN seasons s ON dates.Date BETWEEN s.start AND s.END

Truy vấn phức tạp bên trong tránh được việc tạo bảng tạm thời (lấy từ tạo ngày kể từ phạm vi ngày ) và hoạt động trong tối đa 1000 ngày, nhưng việc tạo bảng tạm thời sẽ ổn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Spring JDBC sử dụng tệp application.properties

  2. Codeigniter:Cột 'id' trong mệnh đề thứ tự không rõ ràng

  3. gán tất cả các kết quả while cho một biến

  4. Giúp đăng nhập an toàn hơn

  5. Cột không xác định trong 'mệnh đề có'