Bagaimana cara mengekspor hasil query MySQL menggunakan phpMyAdmin 3.4.3?

32
  1. Saya punya tabel baris 30K
  2. Ketika saya menjalankan kueri panjang 50 baris di tabel itu, fungsi GROUP mengurangi jumlah baris menjadi 7K
  3. Saya ingin mengekspor baris 7K yang dikelompokkan sebagai tabel baru, atau menyimpannya sebagai CSV

Ketika saya mencoba untuk mengekspor, alih-alih mendapatkan baris 7K yang dikelompokkan, saya mendapatkan baris 30K yang lama dan di-pre-query. Apa yang saya lakukan salah, dan apa yang harus saya lakukan?

CATATAN: Saya bukan pembuat kode, jadi saya sangat menghargai solusi yang hanya menggunakan GUI phpMyAdmin.

anggur
sumber
Akan sangat membantu untuk menyediakan query SQL yang dibuat dan digunakan phpMyAdmin.
Bob Ortiz

Jawaban:

52
  1. Jalankan query sql Anda di tab SQL phpMyAdmin.

  2. Setelah eksekusi, gulir ke bawah halaman dan cari "Operasi hasil pencarian"

  3. Klik tautan "Ekspor" dari yang di atas dan Anda akan mendapatkan halaman untuk mengekspor semua hasil permintaan ke format yang diinginkan. Itu dia.

Kartik
sumber
Sangat sederhana, tidak tahu mengapa saya tidak melihatnya di masa lalu!
Nicholas Decker
2
Pilih "Ekspor" dari "Operasi hasil kueri" dan ini menampilkan semua catatan dari tabel daripada hasil kueri. Apakah ada hal lain yang harus dipilih?
Web_Developer
13

Alih-alih tombol ekspor di bagian atas GUI, gunakan yang di bawah, dalam kotak "Operasi hasil kueri". Itu yang kamu inginkan.

Tombol ekspor

Sudipta Chatterjee
sumber
Saya telah mengunggah foto di sini - bertanya-tanya ke mana perginya. PS - jika ini menyelesaikan masalah Anda, harap tandai sebagai jawaban yang benar.
Sudipta Chatterjee
1
Terima kasih! Dalam antarmuka saat ini ada belum lagi salah tombol "ekspor", benar tentang "hasil query operasi" kotak. Tangkapan layar bermanfaat.
octern
3

Anda sudah mendapatkan kueri? Anda bisa menyisipkan ke tabel baru menggunakan hasil kueri lain

Sepertinya langkah yang Anda butuhkan:

  1. Buat tabel baru dengan semua kolom.
  2. INSERT INTO newTable (field1, field2, field3) SELECT field1, field2, field3 FROM otherTable GROUP BY field1

Sesuaikan permintaan 50-baris Anda.

Reece45
sumber
Terima kasih! Biarkan saya melihat apakah saya mengerti ... (1) buat tabel baru (2) oldtable memiliki sekitar 60 kolom, dan semua sedang digunakan, jadi ... INSERT INTO newtable * SELECT * from oldtable (3) apakah saya menempatkan Anda Sisipkan kode ke bagian akhir permintaan saya yang ada?
anggur
Anda memasukkan INSERT INTO sebelum kueri Anda. Ini berfungsi seperti INSERT normal kecuali alih-alih memberikan "VALUES (rowColumn1, rowColumn2, rowColumn3)", Anda malah memberikan hasil SELECT.
Reece45
3

Pada beberapa permintaan, itu tidak mungkin secara langsung.

Anda harus menulis hasil kueri ke tabel melalui create table assintaks Dan kemudian Anda dapat mengikuti instruksi ekspor normal: https://serverfault.com/a/300342/256884

Revious
sumber
1
Jika kueri Anda mengembalikan sejumlah besar catatan (banyak halaman), ini adalah satu-satunya solusi.
Nicholas Pickering