这个问题在这里已经有答案了:
如何选择最大值(列值)的行,与sql中的另一列不同(19个答案)
两年前关门了。
我的mysql数据库中有两个表,我通过php添加和检索信息。
第一个包含如下条目:
id username
21 user123
22 user65
第二个,包含如下条目:
level id value
1 21 188
2 21 333
3 21 567
1 22 78
表1中的id与表2中使用的id相同。我试图检索表2中最高“级别”的“值”。目前,我可以通过以下方式获得任何给定id的最高级别:
query("SELECT MAX( level ) AS max FROM `table2` WHERE `id` LIKE '".$table1ID."'");
我陷入困境的地方是如何根据特定的“level”和“id”获取“value”,是否需要连接?
edit:我需要的是一个sql语句,它将返回'567',因为这是与'id'21的最高'level'关联的'value'。基本上,对于表2,给定一个“id”(例如21),sql语句将找到该“id”的最高“level”,并返回“value”,即567。
2条答案
按热度按时间nnsrf1az1#
尝试
为所有用户检索表2.max level的值。
这是一个最大等级和价值只为一个特定的用户(最大)
vulvrdjw2#
只需使用子查询: