在mysql中每行都有最大列重复

时间:2016-01-05 21:50:27

标签: php mysql

假设我有一张表A,

A

    user count
    a      4
    b      1
    c      3
    d      2 

我想编写一个查询,它返回A的每个值以及count的最大值,类似于

user  maxCount
a        4
b        4
c        4
d        4 

我试图实现这一目标的方式是,

select user,max(count) as maxCount from A

我得到的结果是:

user maxCount
a      4

这显然不是我想要的。

我知道我可以写多个查询(例如,从A'中选择用户,从A'中选择最大值(计数),因为这似乎是多余的,

但是我认为这样对我来说最好,因为我不想多次调用mysql而且我将返回的数据作为单个jsonObj推送到前端,因此更容易拥有一个表,然后将两个返回表合并为一个,然后转换为json

2 个答案:

答案 0 :(得分:1)

此查询将为您提供所有行的最大值:

SELECT user,
       (SELECT MAX(count) FROM yourTable) AS maxCount
FROM yourTable;

答案 1 :(得分:0)

试试这个:

select user,max(count) as maxCount from yourTable group by user

这将获得您的最大计数,并按用户列中的任何唯一值对它们进行分组。