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

Làm thế nào để chuyển đổi dữ liệu dọc thành dữ liệu ngang với SQL?

Bất kể cơ sở dữ liệu bạn đang sử dụng là gì, khái niệm về những gì bạn đang cố gắng đạt được được gọi là "Pivot Table".

Đây là một ví dụ cho mysql: http://en.wikibooks.org/wiki/MySQL/Pivot_table

Một số cơ sở dữ liệu có các tính năng tích hợp cho điều đó, hãy xem các liên kết bên dưới.

SQLServer: http://msdn.microsoft.com/de-de/library /ms177410.aspx

Oracle: http://www.dba-oracle.com/t_pivot_examples.htm

Bạn luôn có thể tạo một trục bằng tay. Chỉ cần chọn tất cả các tổng hợp trong một tập hợp kết quả và sau đó chọn từ tập kết quả đó. Lưu ý, trong trường hợp của bạn, bạn có thể đặt tất cả các tên vào một cột bằng concat (tôi nghĩ đó là group_concat trong mysql), vì bạn không thể biết có bao nhiêu tên liên quan đến một rel_id.

giả chọn cho trường hợp của bạn (tôi không biết mysql):

select rel_id, group_concat(name) from item group by rel_id


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Đang cố gắng thực hiện thao tác MINUS trong MySQL

  2. Sao lưu cơ sở dữ liệu MySQL của bạn

  3. Làm cách nào để bạn kết nối hiệu quả với mysql trong php mà không cần kết nối lại trên mọi truy vấn

  4. Dữ liệu cột trong bảng Pivot MySQL dưới dạng hàng

  5. Điền hộp chọn từ cơ sở dữ liệu bằng jQuery