วิธีการส่งออกผลลัพธ์ของแบบสอบถาม MySQL โดยใช้ phpMyAdmin 3.4.3?


32
  1. ฉันมีตารางแถว 30K
  2. เมื่อฉันเรียกใช้แบบสอบถามยาว 50 บรรทัดบนตารางนั้นฟังก์ชัน GROUP จะลดจำนวนแถวเป็น 7K
  3. ฉันต้องการส่งออกแถว 7K ที่จัดกลุ่มเป็นตารางใหม่หรือบันทึกเป็น CSV

เมื่อฉันพยายามที่จะส่งออกแทนที่จะได้รับแถว 7K ที่จัดกลุ่มฉันจะได้รับแถวเก่า 30K ที่สอบถามล่วงหน้า ฉันทำอะไรผิดและฉันควรทำยังไงดี?

หมายเหตุ: ฉันไม่ได้เป็น coder ดังนั้นฉันขอขอบคุณโซลูชันที่เพิ่งใช้ phpMyAdmin GUI


มันจะมีประโยชน์มากในการจัดหาคิวรี่ SQL ที่ phpMyAdmin สร้างและใช้
Bob Ortiz

คำตอบ:


52
  1. ดำเนินการค้นหา sql ของคุณในแท็บ SQL ของ phpMyAdmin

  2. หลังจากดำเนินการให้เลื่อนหน้าลงและค้นหา“ การดำเนินการค้นหาผลลัพธ์”

  3. คลิกลิงก์“ ส่งออก” จากด้านบนและคุณจะได้รับหน้าเพื่อส่งออกผลลัพธ์ทั้งหมดของแบบสอบถามไปยังรูปแบบที่ต้องการ แค่นั้นแหละ.


ง่ายมากไม่รู้ว่าทำไมฉันไม่เคยเห็นมันในอดีต!
Nicholas Decker

2
เลือก "ส่งออก" จาก "การดำเนินการค้นหาข้อมูล" และจะแสดงระเบียนทั้งหมดจากตารางแทนที่จะเป็นผลลัพธ์แบบสอบถาม มีอะไรให้เลือกอีกบ้าง?
Web_Developer

12

แทนที่จะใช้ปุ่มส่งออกที่ด้านบนของ GUI ให้ใช้ปุ่มที่ด้านล่างภายในกล่อง "การดำเนินการค้นหาผลลัพธ์" นั่นคือสิ่งที่คุณต้องการ

ปุ่มส่งออก


ฉันอัพโหลดรูปภาพที่นี่ด้วย - สงสัยว่ามันไปที่ไหน ป.ล. - หากสิ่งนี้สามารถแก้ไขปัญหาของคุณได้โปรดทำเครื่องหมายว่าเป็นคำตอบที่ถูกต้อง
Sudipta Chatterjee

1
ขอบคุณ! ในอินเทอร์เฟซปัจจุบันยังมีปุ่ม "ส่งออก" ที่ไม่ถูกต้องอีกช่องทางขวาเกี่ยวกับช่อง "การดำเนินการค้นหาผลลัพธ์" ภาพหน้าจอมีประโยชน์
ตุลาคม

3

คุณได้รับแบบสอบถามแล้ว คุณสามารถแทรกลงในตารางใหม่โดยใช้ผลลัพธ์ของแบบสอบถามอื่น

ดูเหมือนขั้นตอนที่คุณต้องการ:

  1. สร้างตารางใหม่พร้อมคอลัมน์ทั้งหมด
  2. INSERT INTO newTable (field1, field2, field3) SELECT field1, field2, field3 FROM otherTable GROUP BY field1

ปรับสำหรับแบบสอบถาม 50 บรรทัดของคุณ


ขอบคุณฉันขอดูว่าฉันเข้าใจหรือไม่ ... (1) สร้าง newtable (2) oldtable มีประมาณ 60 คอลัมน์และทั้งหมดถูกใช้ดังนั้น ... INSERT INTO newtable * SELECT * จาก oldtable (3) ฉันจะวางของคุณหรือไม่ ใส่รหัสลงในส่วนท้ายของแบบสอบถามที่มีอยู่ของฉัน
องุ่น

คุณใส่ INSERT ลงในหน้าคำค้นหาของคุณ มันทำงานเหมือนกับ INSERT ปกติยกเว้นแทนที่จะให้ "VALUES (rowColumn1, rowColumn2, rowColumn3)" คุณกำลังให้ผลลัพธ์ของ SELECT แทน
Reece45

3

ในบางคำถามจะไม่สามารถทำได้โดยตรง

คุณต้องเขียนผลลัพธ์แบบสอบถามไปยังตารางผ่านทางcreate table asไวยากรณ์ จากนั้นคุณสามารถทำตามคำแนะนำในการส่งออกปกติ: https://serverfault.com/a/300342/256884


1
หากแบบสอบถามของคุณส่งกลับระเบียนจำนวนมาก (หลาย ๆ หน้า) นี่เป็นทางออกเดียว
Nicholas Pickering
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.