Php 从数据库中选择数据
我试图从我的数据库中选择一些数据,但有一部分我被卡住了。我不知道该代替什么(上一个职位) 表格:Php 从数据库中选择数据,php,mysql,database,Php,Mysql,Database,我试图从我的数据库中选择一些数据,但有一部分我被卡住了。我不知道该代替什么(上一个职位) 表格: name | postID name1 | 1 name1 | 2 name1 | 3 name1 | 4 name2 | 1 name2 | 2 name2 | 3 name3 | 1 name3 | 2 name3 | 3 name1 | 4 name2 | 3 name3 | 3 预期结果: name | postID name1 | 1 name1 | 2 name1 | 3 nam
name | postID
name1 | 1
name1 | 2
name1 | 3
name1 | 4
name2 | 1
name2 | 2
name2 | 3
name3 | 1
name3 | 2
name3 | 3
name1 | 4
name2 | 3
name3 | 3
预期结果:
name | postID
name1 | 1
name1 | 2
name1 | 3
name1 | 4
name2 | 1
name2 | 2
name2 | 3
name3 | 1
name3 | 2
name3 | 3
name1 | 4
name2 | 3
name3 | 3
您的预期结果与您的问题陈述不同,一个有两列,另一列 但是,您的问题的答案是子查询:
SELECT DISTINCT t.name
FROM table t
WHERE t.postID = (SELECT MAX(t2.postId) FROM table t2);
这假设“last post id”是指具有最大值的id。有一种更简单的方法来完成您想要的内容。基本上,您只需要为每个
名称
获得一个结果,所以只需按此分组即可
SELECT
name, MAX(postID) AS lastPostID
FROM
tbl
GROUP BY
name
每个
名称
将形成一个结果组,因此是唯一的,但伴随着最后一个postID。如果它们按顺序编制索引,那么最大postID显然是最新的。请用您正在使用的数据库标记您的问题。这不起作用,因为最后一个post ID并不总是3。有些可能是3岁。有些可能是4岁。有些可能是5岁。如果最大值为5,则只会得到postID为5的名称,而不会得到其他名称。@jessica。我完全不理解你的评论。我认为问题很清楚,样本数据和期望的结果也很清楚。基本上,我需要它说一些类似于,与不同名称相关的最大postID。