這是問題#105 http://sql-ex.ru查詢獲取某列的另一列的,因爲只有RANK()值最高ROW_NUM()值
問題: 統計學家愛麗絲,貝蒂,卡羅爾和戴安娜在產品表中編號行。 最初,他們按照製造商名稱的升序對錶格行進行排序。 Alice正在爲每一行分配一個新數字,這樣她就按照模型升序排列了同一個製造商的行。 另外三位統計人員將相同的編號分配給同一製造商的所有行。
貝蒂分配從1開始的號碼,每下一個製造商1。
卡羅爾給出了這樣數目的製造商,它數艾麗斯將給出本機的第一模型的數量增加。
戴安娜給了一個製造商,這個數字愛麗絲會給這個製造商的最後一個模型。
輸出:製造商,型號,已經由愛麗絲,貝蒂,Carol和戴安娜分別分配給表中的行數。
我想出了這個查詢已經愛麗絲(A),貝蒂(B),卡羅爾(C)
SELECT maker, model,
ROW_NUMBER() OVER (ORDER BY maker,model ASC) A,
DENSE_RANK() OVER(ORDER BY maker) B,
RANK() OVER (ORDER BY maker) C
FROM product
ORDER BY model ASC
但我無法找到黛安娜(d)中溶液。
感謝您的幫助,時間和理解。
的MySQL不必須'ROW_NUMBER()'或'RANK()' –