Jak wyeksportować wynik zapytania MySQL przy użyciu phpMyAdmin 3.4.3?

32
  1. Mam 30-wierszowy stół
  2. Kiedy uruchamiam długie, 50-liniowe zapytanie w tej tabeli, funkcja GROUP zmniejsza liczbę wierszy do 7 KB
  3. Chcę wyeksportować zgrupowane wiersze 7K jako nową tabelę lub zapisać je jako CSV

Kiedy próbuję wyeksportować, zamiast uzyskać zgrupowane wiersze 7 000, otrzymuję stare 30 000 wierszy sprzed zapytania. Co robię źle i co powinienem robić?

UWAGA: Nie jestem programistą, więc naprawdę doceniłbym rozwiązanie wykorzystujące GUI phpMyAdmin.

winogrono
źródło
Bardzo pomocne byłoby dostarczenie zapytań SQL, które phpMyAdmin utworzył i wykorzystał.
Bob Ortiz

Odpowiedzi:

52
  1. Wykonaj zapytanie SQL w zakładce SQL phpMyAdmin.

  2. Po wykonaniu przewiń stronę w dół i poszukaj „Operacje na wynikach zapytania”

  3. Kliknij link „Eksportuj” z powyższego, a otrzymasz stronę, aby wyeksportować wszystkie wyniki zapytań do żądanego formatu. to jest to!

Kartik
źródło
Bardzo proste, nie wiem, dlaczego nie widziałem go w przeszłości!
Nicholas Decker
2
Wybrano „Eksportuj” z „Operacji wyników zapytania” i pokazuje wszystkie rekordy z tabeli zamiast wyniku zapytania. Czy jest coś jeszcze do wyboru?
Web_Developer
12

Zamiast przycisku eksportu na górze GUI, użyj tego na dole, w polu „Operacje na wynikach zapytania”. To jest to, czego chcesz.

Przycisk Eksportuj

Sudipta Chatterjee
źródło
Wrzuciłem tu również zdjęcie - zastanawiam się, gdzie poszło. PS - jeśli to rozwiązało problem, zaznacz go jako poprawną odpowiedź.
Sudipta Chatterjee
1
Dzięki! W bieżącym interfejsie jest jeszcze jeden niepoprawny przycisk „eksportuj”, bezpośrednio w polu „operacje na wynikach zapytania”. Zrzut ekranu jest pomocny.
octern
3

Masz już zapytanie? Możesz wstawić do nowej tabeli, używając wyników innego zapytania

Wygląda na potrzebne kroki:

  1. Utwórz nową tabelę ze wszystkimi kolumnami.
  2. INSERT INTO newTable (field1, field2, field3) SELECT field1, field2, field3 FROM otherTable GROUP BY field1

Dostosuj do zapytania zawierającego 50 wierszy.

Reece45
źródło
Dzięki! Zobaczmy, czy rozumiem ... (1) stwórz newtable (2) oldtable ma około 60 kolumn i wszystkie są używane, więc ... WSTAWIĆ DO newtable * WYBIERZ * z oldtable (3) czy umieściłem twój WSTAWIĆ kod INTO na końcu mojego istniejącego zapytania?
winogronowy
Umieszczasz INSERT INTO przed zapytaniem. Działa tak jak normalny WSTAW, z wyjątkiem tego, że zamiast podawać „WARTOŚCI (rowColumn1, rowColumn2, rowColumn3)”, zamiast tego podajesz wyniki SELECT.
Reece45,
3

W przypadku niektórych zapytań nie jest to możliwe w bezpośredni sposób.

Musisz zapisać wynik zapytania do tabeli za pomocą create table asskładni. Następnie możesz postępować zgodnie z normalnymi instrukcjami eksportu: https://serverfault.com/a/300342/256884

Revious
źródło
1
Jeśli zapytanie zwraca dużą liczbę rekordów (wiele stron), jest to jedyne rozwiązanie.
Nicholas Pickering,