0
我有一個練習數據庫。我想列出具有相應標題名稱的不同類型的最大價格,但當然,我不能只將標題名稱屬性放入我的SELECT子句中,因爲它不出現在GROUP BY子句中。有沒有解決我的問題?謝謝!根據標題名稱標題列出最高價格?
SELECT type, MAX(price) "price"
FROM titles
GROUP BY type
ORDER BY type DESC;
我有一個練習數據庫。我想列出具有相應標題名稱的不同類型的最大價格,但當然,我不能只將標題名稱屬性放入我的SELECT子句中,因爲它不出現在GROUP BY子句中。有沒有解決我的問題?謝謝!根據標題名稱標題列出最高價格?
SELECT type, MAX(price) "price"
FROM titles
GROUP BY type
ORDER BY type DESC;
你沒有提到你正在使用的數據庫。大多數數據庫都支持ANSI標準row_number()
和窗口/分析函數。這裏有一個方法做你想要什麼:
select type, name, price
from (select t.*, row_number() over (partition by type order by price desc) as seqnum
from titles t
) t
where seqnum = 1;
在MySQL中,不支持row_number()
的情況下,你可以這樣做:
select type,
substring_index(group_concat(name separator '|' order by price desc), '|', 1) as title,
max(price) as price
from titles
group by type;
注意,這個假設沒有標題包含字符'|'
。
謝謝,我使用TSQL,它的工作原理 – Grobi