Jak wyświetlić rekord o najwyższej wartości w Oracle?

Mam 4 tabele o następującej strukturze:

Stółartist:

artistID lastname firstname nationality dateofbirth datedcease

Stółwork:

workId title copy medium description artist ID

StółTrans:

TransactionID Date Acquired Acquistionprice datesold askingprice salesprice customerID workID

StółCustomer:

customerID lastname Firstname street city state zippostalcode country areacode phonenumber email

Pierwsze pytanie dotyczy tego, który artysta ma najwięcej dziełartsold i ile dzieł artysty zostało sprzedanych.

Moje zapytanie SQL brzmi:

SELECT * From dtoohey.artist A1 
INNER JOIN 
(
    SELECT COUNT(W1.ArtistID) AS COUNTER, artistID  FROM dtoohey.trans T1
    INNER JOIN dtoohey.work W1
    ON W1.workid = T1.Workid
    GROUP BY W1.artistID
) TEMP1
ON TEMP1.artistID = A1.artistID
WHERE A1.artistID = TEMP1.artistId
ORDER BY COUNTER desc;

Mam dostać cały stół, ale chcę tylko pokazać pierwszy wiersz, który jest najwyższym licznikiem, jak to zrobić?

Próbowałem wstawićWHERE ROWNUM <=1 ale pokazuje ID artysty za pomocą 1

qns 2 to sprzedaż, w której twórczość artysty zaowocowała najwyższym średnim zyskiem (tj. średnią) zysków osiągniętych z każdej sprzedaży dzieł przez artystę) i jaka jest ta kwota.

Moje zapytanie SQL to:

SELECT A1.artistid, A1.firstname FROM
(
    SELECT 
        (salesPrice - AcquisitionPrice) as profit, 
        w1.artistid as ArtistID 
    FROM dtoohey.trans T1
    INNER JOIN dtoohey.WORK W1
    on W1.workid = T1.workid
) TEMP1
INNER JOIN dtoohey.artist A1
ON A1.artistID = TEMP1.artistID
GROUP BY A1.artistid
HAVING MAX(PROFIT) = AVG(PROFIT);

Nie jestem w stanie go wykonać

Wypróbowałem zapytanie poniżej, ale wciąż nie mogę go uzyskać, ponieważ wciąż brakuje błędu w prawym nawiasie

SELECT A1.artistid, A1.firstname, TEMP1.avgProfit
FROM 
(
    SELECT 
        AVG(salesPrice - AcquisitionPrice) as avgProfit, 
        W1.artistid as artistid
    FROM dtoohey.trans T1
    INNER JOIN dtoohey.WORK W1
    ON W1.workid = T1.workid
    GROUP BY artistid
    ORDER BY avgProfit DESC
    LIMIT 1
) TEMP1
INNER JOIN dtoohey.artist A1
ON A1.artisid = TEMP1.artistid

questionAnswers(2)

yourAnswerToTheQuestion