NIE jest to coś, co chcesz zrobić w jednym zapytaniu. Po prostu podziel to, jedno zapytanie dla każdej kolumny. W odpowiednich okolicznościach (czyli z właściwymi indeksami i właściwymi typami kolumn) MySQL może faktycznie zoptymalizować te zapytania poprzez krótkie obwody, dzięki czemu nigdy nie musi skanować całej tabeli, po prostu wyciąga 5 najwyższych wartości i gotowe.
SELECT column1 FROM table ORDER BY column1 DESC LIMIT 5
SELECT column2 FROM table ORDER BY column2 DESC LIMIT 5
etc
Jeśli spróbujesz połączyć je wszystkie w jedno gigantyczne, niezgrabne zapytanie, zdołasz tylko przekonać optymalizatora, aby po prostu zrezygnował i ponownie przeskanował całą tabelę 50 razy, a następnie skorzystał z 50 tabel tymczasowych i prawdopodobnie sortowania plików na dokładkę. Więc jeśli Twoja tabela nie zawiera około 10 wierszy (co oczywiście nie ma), 50 oddzielnych zapytań zawsze będzie szybszych.