例如,我有一個表
| ID | 汽車零件編號 | 汽車零件價格 | 元資料 |
|---|---|---|---|
| 1 | 扳手 | 580 | 其他一些資料 |
| 2 | 扳手 | 570 | 其他資料 2 |
| 3 | 車輪 | 423 | 其他一些資料 |
| 4 | 窗戶 | 234 | 其他一些資料 |
| 5 | 引擎 | 568 | 其他資料 1 |
| 6 | 引擎 | 423 | 其他資料 2 |
請注意,當我執行 SELCT * FROM 這個表時,我會得到兩行 CarPartId,但我真正想要的是獲取 CarPartId 行,其中 CarPartPrice 是最高的,以及表中的其他行。
我如何實作這一目標?例如,我的查詢應該回傳這個
| ID | 汽車零件編號 | 汽車零件價格 | 元資料 |
|---|---|---|---|
| 1 | 扳手 | 580 | 其他一些資料 |
| 3 | 車輪 | 423 | 其他一些資料 |
| 4 | 窗戶 | 234 | 其他一些資料 |
| 5 | 引擎 | 568 | 其他資料 1 |
uj5u.com熱心網友回復:
嘗試這個:
SELECT * from table INNER JOIN
(SELECT CarPartId, MAX(CarPartPrice) as MaxPrice
FROM table GROUP BY CarPartId
) grouptable
ON table.CarPartId = grouptable.CarPartId
AND table.CarPartPrice = grouptable.MaxPrice
uj5u.com熱心網友回復:
由于您說“連同表中的其他行”,我知道您想查看所有行。所以下面將顯示所有資料,但在頂行以最高的 CarPartPrice 排序:
Select * From this table
Order by CarPartPrice
uj5u.com熱心網友回復:
我會使用嵌套查詢。
SELECT t1.*
FROM Table t1
WHERE t1.CarPartPrice = ( SELECT MAX(t2.CarPartPrice)
FROM Table t2
GROUP BY t2.CarPartId
HAVING t2.CarPartId = t1.CarPartId)
嵌套查詢將為您提供每個 Id 的最高 CarPartPrice。
uj5u.com熱心網友回復:
我認為您正在尋找的是 select max()
SELECT CarPartId, MAX(CarPartPrice)
FROM this table
GROUP BY CarPartId
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/355173.html
