SQL: Zwracanie najbardziej powszechnej wartości dla każdej osoby

EDYCJA: Używam MySQL, znalazłem inny post z tym samym pytaniem, ale jest w Postgres; Potrzebuję MySQL.

Uzyskaj najczęstszą wartość dla każdej wartości innej kolumny w SQL

Zadaję to pytanie po dokładnym przeszukiwaniu tej strony i innych, ale nie znalazłem wyniku, który działa tak, jak zamierzam.

Mam tabelę osób (recordid, personid, transactionid) i tabelę transakcji (transactionid, rating). Potrzebuję pojedynczej instrukcji SQL, która może zwrócić najbardziej powszechną ocenę, jaką ma każda osoba.

Obecnie mam tę instrukcję SQL, która zwraca najbardziej powszechną ocenę dla określonego identyfikatora osoby. Działa i może może pomóc innym.

SELECT transactionTable.rating as MostCommonRating 
FROM personTable, transactionTable 
WHERE personTable.transactionid = transactionTable.transactionid 
AND personTable.personid = 1
GROUP BY transactionTable.rating 
ORDER BY COUNT(transactionTable.rating) desc 
LIMIT 1

Jednak wymagam instrukcji, która robi to, co robi powyższa instrukcja dla każdego personid w personTable.

Moja próba jest poniżej; jednak przekroczył limit czasu mojego serwera MySQL.

SELECT personid AS pid, 
(SELECT transactionTable.rating as MostCommonRating 
FROM personTable, transactionTable 
WHERE personTable.transactionid = transactionTable.transactionid 
AND personTable.personid = pid
GROUP BY transactionTable.rating 
ORDER BY COUNT(transactionTable.rating) desc 
LIMIT 1)
FROM persontable
GROUP BY personid

Każda pomoc, jaką możesz mi dać, byłaby bardzo zobowiązana. Dzięki.

PERSONTABLE:

RecordID,   PersonID,   TransactionID
1,      Adam,       1
2,      Adam,       2
3,      Adam,       3
4,      Ben,        1
5,      Ben,        3
6,      Ben,        4
7,      Caitlin,    4
8,      Caitlin,    5
9,      Caitlin,    1

TRANSACTIONTABLE:

TransactionID,  Rating
1       Good
2       Bad
3       Good
4       Average
5       Average

Wyjściem instrukcji SQL, której szukam, byłoby:

WYDAJNOŚĆ:

PersonID,   MostCommonRating
Adam        Good
Ben         Good
Caitlin     Average

questionAnswers(2)

yourAnswerToTheQuestion