gpt4 book ai didi

mysql - 选择指定列中具有最高值的行,并且其他列中不具有唯一值的行应该是不同的

转载 作者:行者123 更新时间:2023-11-29 23:28:44 27 4
gpt4 key购买 nike

我有一个表事件:

id  last_active login   ip1   1000        user1   192.168.10.102   2000        user2   192.168.10.203   3000        user3   192.168.10.304   4000        user1   192.168.10.105   5000        user2   192.168.10.206   6000        user2   192.168.10.207   7000        user1   192.168.10.10

我必须选择一行中的所有ip和其他数据,但仅限于last_active最高的地方。所以结果应该是这样的:

3   3000    user3   192.168.10.306   6000    user2   192.168.10.207   7000    user1   192.168.10.10

我已经尝试过使用:

ORM::factory('Activity')->order_by('last_active','DESC')->group_by('ip')->find_all();

结果是:

array(4) (    "id" => string(1) "3"    "last_active" => string(4) "3000"    "login" => string(5) "user3"    "ip" => string(13) "192.168.10.30")array(4) (    "id" => string(1) "2"    "last_active" => string(4) "2000"    "login" => string(5) "user2"    "ip" => string(13) "192.168.10.20")array(4) (    "id" => string(1) "1"    "last_active" => string(4) "1000"    "login" => string(5) "user1"    "ip" => string(13) "192.168.10.10")

如您所见,我有不同的 ip,但 last_active 值不正确。任何想法?纯 SQL 语句或 DB::select() 答案都可以:-)

最佳答案

怎么样

select id,  last_active, login,   ip
from activities
where (last_active, ip) in (select max(last_active), ip from activities group by ip )

关于mysql - 选择指定列中具有最高值的行,并且其他列中不具有唯一值的行应该是不同的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26742072/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com