簡體   English   中英

如何選擇具有最大列值的行?

[英]How to select rows which have the biggest value of a column?

我不知道我的標題是否可以理解,也許有人可以幫助編輯我的標題?

我想要做的就是,例如:
我有這樣的桌子

在此處輸入圖片說明


Engineering用不同的article_category_abbr出現5次,我只想選擇num值最大的一行。
在這里,它將是Engineering-ENG-192 ,而Geriatrics&Gerontology將是Geriatrics&Gerontology-CLM-26
但是我不知道如何使用mysql在整個表上執行此操作

您可以有一個子查詢,該子查詢為每個sc獲得最大的值,然后將基於兩列( scnum將結果行與表本身連接起來。

SELECT  a.*
FROM    tableName a
        INNER JOIN
        (
            SELECT  sc, MAX(num) AS Num
            FROM    tableName
            GROUP   BY sc
        ) b ON a.sc = b.sc
            AND a.num = b.num

這是一個演示

將表連接到一個子查詢,該子查詢為每個sc組找到最大的num值。

SELECT t1.*
FROM yourTable t1
INNER JOIN
(
    SELECT sc, MAX(num) AS max_num
    FROM yourTable
    GROUP BY sc
) t2
    ON t1.sc = t2.sc AND
       t1.num = t2.max_num;

這樣使用MAX函數和GROUP BY 是更多信息。

SELECT myID, classTitle, subField, MAX(score) FROM myTable GROUP BY myID, classTitle, subField

暫無
暫無

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

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