繁体   English   中英

如何获取多列的最大值(以及datecolumn为max的stringcolumn的值)并将其组合为单个查询?

[英]How can I get the max value of multiple columns (and value of stringcolumn where datecolumn is max) and combine it into a single query?

如何在SQL中执行此操作?

这是我的示例数据:

ColA   ColB   ColC   ColD   ColE
----   ----   ----   ----   ----
TR12   25     67    yey
TR11   28     99    apr     2/2/2013
TR12   78     55    apr     2/2/2013
TR12   20     35    olf     2/5/2013

条件是在ColB中获得最大值,在ColC中获得某个值。

对于ColD和ColE值,我想从具有最大ColE值的行中获取它们。

 ColA   ColB   ColC   ColD   ColE
 ----   ----   ----   ----   ----
*TR12*  25     *67*  yey
 TR11   28     99    apr     2/2/2013
 TR12   *78*   55    apr     2/2/2013
 TR12   20     35    *olf*   *2/5/2013*

因此,我的预期结果将是这样的:

ColA   ColB   ColC   ColD   ColE
----   ----   ----   ----   ----
TR12   78     67     olf    2/5/2013

到目前为止,这就是我可以在其中返回列的正确最大值的全部功能,但是基于ColE是max value的行返回字符串呢? 当我为ColD执行max()函数时,得到的值不正确。 我得到的是另一个单词,而不是ColE最大的单词。

SELECT 
   ColA, max(ColB) as ColB, max(ColC) as ColC,
   max(ColD) as ColD, -- this is where I got it wrong,
      this should return the string where its ColE is the maximum
   max(ColE) as ColE
FROM 
   dbo.SomeTable 
WHERE 
   ColA = 'TR12'

我真的希望您能帮到我。

感谢您的快速答复。

你还好 尽管继续。 max()聚合函数适用于字符串以及数字。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM