[英]Select max value for two columns and get id of each row
我有一個稱為產品的表,該表具有id, name, price and quantity
該表具有如下數據。
id | name | price | quantity
1 | A | 20 | 4
2 | B | 32 | 3
3 | C | 24 | 8
我想獲取具有產品id
的price
和quantity
的max()
。
像下面這樣。 我不知道有沒有可能
id1 | max(price) | id2 | max(quantity)
2 | 32 | 3 | 8
id1
是具有max price
的產品的id
,而id2
是具有max quantity
的產品的id
。
我認為這是不可能的,但想確保。
您可以使用以下查詢來獲得所需的結果,例如
id1 | max(price) | id2 | max(quantity)
2 | 32 | 3 | 8
quan是表名。
select
q1.id id1,
q1.price,
q2.id id2,
q2.quantity
from quan q1,
quan q2
where q1.price = (select max(price) from quan)
and q2.quantity = (select max(quantity) from quan);
您也可以使用簡單的聯接嘗試此操作,而無需使用having
子句。 但不是最佳實踐。 我建議您使用多個查詢。
SELECT T1.ID ID1, T1.PRICE , T2.ID ID2, T2.QUANTITY FROM PRODUCTS T1 , PRODUCTS T2
WHERE T1.PRICE = ( SELECT MAX(PRICE) FROM PRODUCTS)
AND T2.QUANTITY = (SELECT MAX(QUANTITY) FROM PRODUCTS)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.