不同的名称,每个名称的最大值按其自身的最大值排序,并带有sql中的条件

不同的名称,每个名称的最大值按其自身的最大值排序,并带有sql中的条件,sql,Sql,我目前有下表: Name | key | State User 1 | 12 | 15 User 2 | 12 | 100 User 3 | 144 | 35 User 1 | 66 | 21 User 1 | 72 | 25 User 3 | 12 | 22 User 2 | 12 | 50 我想找到用户,然后获取其最大状态号,并从列

我目前有下表:

    Name    |  key   |  State
    User 1  |  12    |  15
    User 2  |  12    |  100
    User 3  |  144   |  35
    User 1  |  66    |  21
    User 1  |  72    |  25
    User 3  |  12    |  22
    User 2  |  12    |  50
我想找到用户,然后获取其最大状态号,并从列键为12的最高值中对最大状态进行排序

预期的结果是这样的

    Name    |  key   |  State
    User 2  |  12    |  100
    User 3  |  12    |  22
    User 1  |  12    |  15
我自己解决不了这个问题,这就是我需要帮助的原因,很抱歉,不过这里有一个解决方案:

SELECT
    Name
    ,Key
    ,MAX(State) AS State
FROM your_table
WHERE Key = 12
GROUP BY Name, Key
ORDER BY State DESC
以下是一个解决方案:

SELECT
    Name
    ,Key
    ,MAX(State) AS State
FROM your_table
WHERE Key = 12
GROUP BY Name, Key
ORDER BY State DESC
选择名称、键、最大值(状态)作为状态
从…起
哪里
键=12
按名称、键分组
按州顺序说明
选择名称、键、最大值(状态)作为状态
从…起
哪里
键=12
按名称、键分组
按州顺序说明
以下是解决方案

SELECT Name, key, MAX(state) AS state
FROM <tablename>
WHERE key = 12
GROUP BY Name, key
ORDER BY state Desc;
选择名称、键、最大值(状态)作为状态
从…起
其中key=12
按名称、键分组
按州顺序说明;
以下是解决方案

SELECT Name, key, MAX(state) AS state
FROM <tablename>
WHERE key = 12
GROUP BY Name, key
ORDER BY state Desc;
选择名称、键、最大值(状态)作为状态
从…起
其中key=12
按名称、键分组
按州顺序说明;


我删除了不兼容的数据库标记。请仅使用您真正使用的数据库进行标记。是否要我显示我的真实表,而不是使用示例中的表?我删除了不兼容的数据库标记。请仅使用您真正使用的数据库进行标记。是否要我显示我的实际表,而不是示例中的表?如果状态为datetime并带有datetime值会怎样?@Calaydo Minds return max datetime我尝试了一个新问题,就像状态列上的日期类型为datetime并带有新的datetime值,那么我使用max(状态)date类型为datetime,但它不工作类型为列datetime或varchar?如果状态为datetime并带有datetime值该怎么办???@Calaydo Minds return max datetime我尝试了一个新问题,就像状态列上的日期类型为datetime并带有新的datetime值,那么我使用max(状态)date类型为datetime但不工作类型为column datetime或varchar?如果状态为datetime且具有datetime值,则会工作相同。。。将返回日期时间的
MAX
我尝试了你的代码,它可以工作,但更改为日期类型为日期时间,并带有日期时间值,它没有在desc上排序,也没有在desc上排序,谢谢你的帮助,总之它完全帮了我一个忙我猜你的数据有问题。。。这里有一个datetime的例子:如果状态是datetime,并且有一个datetime值,那么情况会是一样的。。。将返回日期时间的
MAX
我尝试了你的代码,它可以工作,但更改为日期类型为日期时间,并带有日期时间值,它没有在desc上排序,也没有在desc上排序,谢谢你的帮助,总之它完全帮了我一个忙我猜你的数据有问题。。。请在此查看datetime的示例: