簡體   English   中英

從SELECT查詢中獲取具有最大值的記錄

[英]Get record with Max value from SELECT query

我正在嘗試get max value查詢中列的get max value ,但找不到任何解決方案。 我的查詢是

SELECT pz.id, 
    sz.Price + cr.AddedCost AS price
FROM piz pz, crust cr, size sz
WHERE 
    pz.SizeID = sz.id AND
    pz.CrustID = tp.id

然后我收到一些如下記錄

ID  price
-----------
1   95000.0
6   160000.0
10  150000.0
3   137500.0
5   122500.0
4   195000.0
2   195000.0
7   130000.0
8   205000.0
9   130000.0
11  205000.0

我想獲取價格max valuerecord ,這些record是:

ID  price
------------
8   205000.0
11  205000.0

我在MySQL服務器上使用Navicat

更新:我確實嘗試使用:

SELECT pz.id, MAX(sz.Price + cr.AddedCost) AS price ....

但是它沒有用,因為返回的ID是錯誤的

使用Max函數:)從...中選擇MAX(column)

當您這樣做時會發生什么。

將所有舊樣式的逗號分隔聯接更改為內部聯接,以提高可讀性。

SELECT pz.id,
       sz.Price + cr.AddedCost AS price
FROM   piz pz
       INNER JOIN crust cr
               ON pz.CrustID = cr.id
       INNER JOIN size sz
               ON pz.SizeID = sz.id
WHERE  sz.Price + cr.AddedCost = (SELECT sz.Price + cr.AddedCost AS price
                                   FROM   piz pz1
                                          INNER JOIN crust cr1
                                                  ON pz1.CrustID = cr1.id
                                          INNER JOIN size sz1
                                                  ON pz1.SizeID = sz1.id
                                   ORDER  BY price DESC limit 1 ) 

從此處選擇MAX(col),但請注意,此col必須是數字而不是字符串

嘗試這個 :

SELECT pz.id, 
        sz.Price + cr.AddedCost AS price
    FROM piz pz, crust cr, size sz,
    (
    select max(sz.Price + cr.AddedCost) as v 
    from crust cr, size sz
    where pz.SizeID = sz.id
    and pz.CrustID = tp.id
    )t
    WHERE 
        pz.SizeID = sz.id AND
        pz.CrustID = tp.id AND 
        (sz.Price + cr.AddedCost) = t.v

試試這個:

SELECT pz.id, 
sz.Price + cr.AddedCost AS price
FROM piz pz, crust cr, size sz
WHERE 
pz.SizeID = sz.id AND
pz.CrustID = tp.id
HAVING
price = (SELECT max(sz.Price + cr.AddedCost) from crust cr, size sz)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM