如何在查询中选择NOT MAX()的记录

时间:2016-03-25 18:36:48

标签: mysql sql sql-server

我需要能够在表中查看包含重复项的列。目前我可以使用MIN()和MAX()来查看结果。然而,它不可靠(记录可能出现两次以上)。如何查看一列中的最大记录,同时查看另一列中的非MAX记录?

寻找结果的一个例子。

我目前的列结构:

200   111
200   111
300   111
300   111
400   111
400   111

我希望它看起来基本上是:

Records.   Max value for records    
200           400
200           400
300           400 

目前我可以使用此查询

Select MIN(Id), MAX(ID)
From table
Group by ANOTHERID
HAVING COUNT(*) > 1

那会给我:

200    400

但不包括我的结果所需的300。

这样我可以根据分组ID来确定MAX值是什么

1 个答案:

答案 0 :(得分:1)

试试这个:

use Doctrine\ORM\Mapping as ORM;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;

/**
 * @ORM\Table(name="table")
 * @ORM\Entity(repositoryClass="Fiducial\UserBundle\Repository\UtilisateurPortailRepository")
 *
 * -> Add this annotation
 *
 * @UniqueEntity(
 *     fields={"username", "email"}
 * )
 */
class UtilisateurPortail extends BaseUser