簡體   English   中英

GROUP BY訂購

[英]GROUP BY with an ordering

SELECT * FROM title給出了以下輸出:

title_number    version_type    hd_sd
1000046         Standard    SD
1000046         Standard    HD
1000050         Standard    SD
1000093         Standard    SD
1000093         Standard    HD
1000125         Standard    SD
1000269         Standard    SD

我需要得到所有不同的title_numbers,然后hd_sd將= HD如果存在,否則,它將= SD 正確的輸出是:

title_number    version_type    hd_sd
1000046         Standard    HD
1000050         Standard    SD
1000093         Standard    HD
1000125         Standard    SD
1000269         Standard    SD

我得到的最接近的是SELECT * FROM title GROUP BY title_number ,但這並沒有給我正確的hd_sd列值。 我如何正確地執行此查詢?

SELECT title_NUMBer, Version_type,
        MIN(hd_sd)
FROM tableName
GROUP BY title_NUMBer

為了改善,

SELECT a.*
FROM    tableName a
        INNER JOIN
        (
            SELECT title_NUMBer, MIN(hd_sd) minCol
            FROM tableName
            GROUP BY title_NUMBer
        ) b ON a.title_number = b.title_Number AND
                a.hd_sd = b.mincol

暫無
暫無

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

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