【发布时间】:2017-03-24 01:24:27
【问题描述】:
对于mysql表,我有10行,其中5行(一半)有5的post_id,而其他5行有post_id的234。
我想根据日期从每个 post_id 中选择 2 行:
这是我目前所拥有的
$post_ids = $_POST['id'][0];
$ids = implode(',', $post_ids); //id's in ',' format
$query = "SELECT * FROM $table WHERE post_id in ({$ids}) ORDER by date desc limit 2";
这只会得到与两个 id 之一匹配的前两个结果。我需要为每个查询运行foreach 函数吗?还有其他方法吗?
谢谢!
【问题讨论】:
-
是的,将您的查询放入 foreach 循环中,该循环会获取数据库的所有记录,然后将查询放入循环中
-
感谢您的帮助。看起来这是最简单的方法。谢谢!
-
没看明白,但是你考虑过GROUP BY
-
嗨。我有两个 id,其中每个 id 都有多行。 (例如,id (5) = 第 1 行、第 2 行、第 3 行、第 4 行等)。我正在尝试选择总共 4 行(两个来自 id = 5 和 2 个来自 id = 234)。愿意向我展示 GROUP BY 示例吗? :)
-
这正是我之前评论中的链接所做的事情。请检查