久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

SQL Server 查詢從每個(gè)子組中選擇 1

SQL Server query select 1 from each sub-group(SQL Server 查詢從每個(gè)子組中選擇 1)
本文介紹了SQL Server 查詢從每個(gè)子組中選擇 1的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!

問(wèn)題描述

我有一組數(shù)據(jù),需要為每個(gè) CON/OWNER/METHOD/MATRIX 集提取一條記錄.如果有一個(gè)非空的結(jié)果,我想要那個(gè).否則,我想要 COUNT 最高的那個(gè).我如何查詢?

I have a set of data and need to pull out one record for each CON / OWNER / METHOD / MATRIX set. If there is a non-null RESULT, I want that one. Otherwise, I want the one with the highest COUNT. How do I query this?

CON      OWNER      METHOD      MATRIX  RESULT  COUNT
*CON_1   OWNER_1    METHOD_A    SOLID   NULL    503
CON_1    OWNER_1    METHOD_A    SOLID   NULL    1

*CON_1   OWNER_1    METHOD_A    SOIL    NULL    1305
CON_1    OWNER_1    METHOD_A    SOIL    NULL    699

*CON_2   OWNER_2    METHOD_B    SOLID   290     687
CON_2    OWNER_2    METHOD_B    SOLID   NULL    NULL
CON_2    OWNER_2    METHOD_B    SOLID   450     600

CON_2    OWNER_2    METHOD_B    WATER   NULL    1
*CON_2   OWNER_2    METHOD_B    WATER   400     NULL

結(jié)果,我只想要加星標(biāo)的記錄,并且我正在展示每個(gè)集合是如何分組的.

for a result, I would like just the starred records, and I'm showing how each set is grouped.

這是糟糕的 SQL:

select top (1) CON, OWNER, METHOD, MATRIX, RESULT, COUNT
from #TempTable
group by CON, OWNER, METHOD, MATRIX
order by CON, OWNER, METHOD, MATRIX, COUNT

...因?yàn)槲业挠?jì)數(shù)不是聚合函數(shù)的一部分.它也不處理 RESULT 是否為 NULL,并且 top (1) 不會(huì)從每個(gè)分組返回 1.但是,我還沒(méi)有通過(guò)使用更復(fù)雜的查詢(例如基于 如何從子查詢(在 SQL Server 中)中選擇多個(gè)列,這些列應(yīng)該為主中的每條記錄有一個(gè)記錄(選擇前 1 個(gè))查詢?)

...because my count isn't part of the aggregate function. Nor does it deal with the RESULT being NULL or not, and top (1) won't return 1 from each grouping. However, I've not got farther by using a more complex query (such as based on the question at How can I select multiple columns from a subquery (in SQL Server) that should have one record (select top 1) for each record in the main query?)

如何從每個(gè)分組中選擇一個(gè)?

How do I select one from each grouping?

推薦答案

試試這個(gè),雖然不是 100% 確定語(yǔ)法正確,但很接近.

Try this, not 100% sure the syntax is right, but it is close.

select 
    * 
from
    (select
        CON,
        OWNER,
        METHOD,
        MATRIX,
        RESULT,
        COUNT,
        RANK() OVER(PARTITION BY CON, OWNER, METHOD,MATRIX ORDER BY RESULT,COUNT DESC) as rnk
    FROM #TempTable
) a
WHERE rnk = 1

這篇關(guān)于SQL Server 查詢從每個(gè)子組中選擇 1的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來(lái)源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問(wèn)題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

Converting Every Child Tags in to a Single Column with multiple Delimiters -SQL Server (3)(將每個(gè)子標(biāo)記轉(zhuǎn)換為具有多個(gè)分隔符的單列-SQL Server (3))
How can I create a view from more than one table?(如何從多個(gè)表創(chuàng)建視圖?)
Create calculated value based on calculated value inside previous row(根據(jù)前一行內(nèi)的計(jì)算值創(chuàng)建計(jì)算值)
How do I stack the first two columns of a table into a single column, but also pair third column with the first column only?(如何將表格的前兩列堆疊成一列,但也僅將第三列與第一列配對(duì)?) - IT屋-程序員軟件開(kāi)發(fā)技
Recursive t-sql query(遞歸 t-sql 查詢)
Convert Month Name to Date / Month Number (Combinations of Questions amp; Answers)(將月份名稱轉(zhuǎn)換為日期/月份編號(hào)(問(wèn)題和答案的組合))
主站蜘蛛池模板: 91免费视频观看 | 日韩在线视频免费观看 | 亚洲综合色 | 国产精品日产欧美久久久久 | 日韩欧美专区 | 亚州精品天堂中文字幕 | 亚洲国产欧美在线 | 日本一区二区三区四区 | 成人免费久久 | 成人精品在线视频 | 欧美激情一区 | 99av成人精品国语自产拍 | 久久久亚洲一区 | 伊人网一区 | 一级毛片观看 | 黄色成人免费在线观看 | 国产精品久久一区二区三区 | 国产第一区二区 | 久久伊人操 | 中文字幕第十五页 | 4hu最新网址 | 久久一区二区av | 日韩精品影院 | 久干网| 精品一区二区电影 | 超碰人人91 | 欧美在线视频a | 日韩三极| 欧美黄色片 | 国产丝袜一区二区三区免费视频 | 在线免费视频一区 | 96国产精品久久久久aⅴ四区 | 黄色毛片在线看 | 日韩av免费在线观看 | 免费看国产一级特黄aaaa大片 | 亚洲一区久久 | 国产99在线 | 欧美 | 亚洲 欧美 激情 另类 校园 | 国产高清视频一区 | 中文字幕免费 | 久久久久网站 |