不同的名称,每个名称的最大值按其自身的最大值排序,并带有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的示例: