Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara mengubah data vertikal menjadi data horizontal dengan SQL?

Terlepas dari basis data yang Anda gunakan, konsep yang ingin Anda capai disebut "Tabel Pivot".

Berikut ini contoh untuk mysql:http://en.wikibooks.org/wiki/MySQL/Pivot_table

Beberapa database memiliki fitur bawaan untuk itu, lihat tautan di bawah.

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

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

Anda selalu dapat membuat pivot dengan tangan. Cukup pilih semua agregasi dalam kumpulan hasil, lalu pilih dari kumpulan hasil itu. Catatan, dalam kasus Anda, Anda dapat memasukkan semua nama ke dalam satu kolom menggunakan concat (saya pikir itu group_concat di mysql), karena Anda tidak dapat mengetahui berapa banyak nama yang terkait dengan rel_id.

pseudo-pilih untuk kasus Anda (saya tidak tahu 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. Hasil database sebagai objek atau array?

  2. Keluaran UTF-8 dengan CakePHP

  3. Jumlah dan grup MySQL berdasarkan hari

  4. kesalahan mysql 1364 Bidang tidak memiliki nilai default

  5. Bagaimana cara menghasilkan cuplikan seperti yang dihasilkan oleh Google dengan PHP dan MySQL?