Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从数据库中选择数据_Php_Mysql_Database - Fatal编程技术网

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。