如何使用MAX值从内部查询结果中获取记录

时间:2018-02-07 12:22:50

标签: sql sql-server max

结果如下。我需要获得最大数量的记录(卖方和买方) - 按购买者分组(标有黄色)

enter image description here

3 个答案:

答案 0 :(得分:1)

您可以使用窗口功能:

$lifestyle = array();    
foreach ($this->images as $image)
{
    $found = false;
    foreach ( $lifestyle as $item )    
        if ( $item->name == $image->getName() )
        {
            $found = true;
            break; // don't bother to continue $lifestyle loop, item is duplicate
        }

    // check if previous loop found something
    if ( !$found )
        $lifestyle[] = $image;
}

答案 1 :(得分:0)

试试这个:

https:

答案 2 :(得分:0)

SELECT T2.MaxCount,T2.purchaser,T1.Seller FROM <Yourtable> T1
Inner JOIN
(
Select  Max(Count) as MaxCount, purchaser
FROM <Yourtable>
GROUP BY Purchaser
)T2
On T2.Purchaser=T1.Purchaser AND T2.MaxCount=T1.Count

首先,您选择卖家,其中将为您提供所有5个卖家的列表。然后您编写另一个查询,其中您只选择购买者最大(计数)购买者分组,这将为您提供两个黄色标记线。在字段购买者最大(计数)上加入两个查询,并将已加入表格中的列添加到第一个查询中。

我无法想到更快的方法,但即使查询量很大,这种方法也能很快。您可以根据需要进一步订购字段。