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

Chuyển đổi truy vấn lớn

Chưa có cách nào hay để thực hiện việc này trong BigQuery, nhưng bạn có thể thực hiện theo ý tưởng bên dưới

Bước 1

Chạy truy vấn bên dưới

SELECT 'SELECT [group], ' + 
   GROUP_CONCAT_UNQUOTED(
      'SUM(IF([date] = "' + [date] + '", value, NULL)) as [d_' + REPLACE([date], '/', '_') + ']'
   ) 
   + ' FROM YourTable GROUP BY [group] ORDER BY [group]'
FROM (
  SELECT [date] FROM YourTable GROUP BY [date] ORDER BY [date]
)

Kết quả là - bạn sẽ nhận được chuỗi như bên dưới (nó được định dạng bên dưới để dễ đọc)

SELECT 
    [group], 
    SUM(IF([date] = "date1", value, NULL)) AS [d_date1],
    SUM(IF([date] = "date2", value, NULL)) AS [d_date2] 
FROM YourTable 
GROUP BY [group] 
ORDER BY [group]   

Bước 2

Chỉ cần chạy phía trên truy vấn đã soạn

Kết quả sẽ như dưới đây

group   d_date1 d_date2  
group1  15      30      

Lưu ý 1 :Bước 1 rất hữu ích nếu bạn có nhiều nhóm xoay quanh quá nhiều công việc thủ công. Trong trường hợp này - Bước 1 giúp bạn tạo truy vấn của mình

Lưu ý 2 :các bước này được triển khai dễ dàng trong bất kỳ ứng dụng khách nào bạn chọn hoặc bạn chỉ có thể chạy các bước đó trong Giao diện người dùng Web BigQuery

Bạn có thể xem thêm về cách xoay vòng trong các bài viết khác của tôi.

Cách mở rộng quy mô quay vòng trong BigQuery?
Xin lưu ý - có giới hạn 10 nghìn cột trên mỗi bảng - vì vậy bạn bị giới hạn với 10 nghìn tổ chức.
Bạn cũng có thể xem bên dưới là các ví dụ đơn giản hóa (nếu ở trên quá phức tạp / verbose):
Làm cách nào để chuyển các hàng thành các cột có lượng lớn dữ liệu trong BigQuery / SQL?
Cách tạo cột biến giả cho hàng nghìn danh mục trong Google BigQuery?
Tổng hợp các trường lặp lại trong BigQuery




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thay đổi kích thước hình ảnh PHP

  2. Sử dụng các ký tự đại diện trong tên bảng mysql

  3. Làm cách nào để phân trang kết quả truy vấn cho Infinite Scroll?

  4. Gửi dữ liệu từ javascript đến cơ sở dữ liệu mysql

  5. Cách chọn nhiều hàng từ mysql với một truy vấn và sử dụng chúng trong php