Można to zrobić na wiele sposobów.
Możesz użyć podzapytania:
SET @some_var = (SELECT COUNT(*) FROM mytable);
(tak jak w oryginale, po prostu dodaj nawias wokół zapytania)
lub użyj składni SELECT INTO, aby przypisać wiele wartości:
SELECT COUNT(*), MAX(col)
INTO @some_var, @some_other_var
FROM tab;
Składnia zapytania podrzędnego jest nieco szybsza (nie wiem dlaczego), ale działa tylko w celu przypisania pojedynczej wartości. Składnia wyboru na umożliwia ustawienie wielu wartości naraz, więc jeśli chcesz pobrać wiele wartości z zapytania, powinieneś to zrobić, zamiast wykonywać zapytanie raz po raz dla każdej zmiennej.
Wreszcie, jeśli zapytanie zwraca nie pojedynczy wiersz, ale zestaw wyników, możesz użyć kursor .