Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.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 如何使用in子句获取限额记录_Php_Mysql - Fatal编程技术网

Php 如何使用in子句获取限额记录

Php 如何使用in子句获取限额记录,php,mysql,Php,Mysql,我有一个问题 我正在以字符串形式获取id SELECT * from table_name where id in (1,2,3,4) order by created desc limit 0,4 这个查询只给了我4条记录 我想从每个id中获取4条记录 有什么想法吗?id是以字符串的形式动态出现的。这应该是可行的。如果您有一个为每个ID(如“最近创建的”)选择4项的条件,请将其放入每个内部查询(例如ORDER BY created DESC)。否则,每个内部查询将返回4个不确定的行(很

我有一个问题 我正在以字符串形式获取id

SELECT * from table_name 
where id in (1,2,3,4) 
order by created desc 
limit 0,4
这个查询只给了我4条记录

我想从每个id中获取4条记录



有什么想法吗?

id是以字符串的形式动态出现的。这应该是可行的。如果您有一个为每个
ID
(如“最近创建的”)选择4项的条件,请将其放入每个内部查询(例如
ORDER BY created DESC
)。否则,每个内部查询将返回4个不确定的行(很可能是按它们在存储设备上的顺序排序的)。如果我的id列表很长,编写内部查询是否是一个好主意?如果
id
是动态生成的,则动态生成查询:-),或者将其拆分为值,使用准备好的语句,使用参数
ID
的不同值多次运行查询,然后在客户端代码中合并并排序返回的结果集。我想这不是个好主意。如果我的id列表很长,那么它不是一个好主意。它是以字符串的形式动态出现的。这应该可以工作。如果您有一个为每个
ID
(如“最近创建的”)选择4项的条件,请将其放入每个内部查询(例如
ORDER BY created DESC
)。否则,每个内部查询将返回4个不确定的行(很可能是按它们在存储设备上的顺序排序的)。如果我的id列表很长,编写内部查询是否是一个好主意?如果
id
是动态生成的,则动态生成查询:-),或者将其拆分为值,使用准备好的语句,使用参数
ID
的不同值多次运行查询,然后在客户端代码中合并并排序返回的结果集。我想这不是个好主意。如果我的id列表很长,那么它不是一个好主意。它是以字符串的形式动态出现的。这应该可以工作。如果您有一个为每个
ID
(如“最近创建的”)选择4项的条件,请将其放入每个内部查询(例如
ORDER BY created DESC
)。否则,每个内部查询将返回4个不确定的行(很可能是按它们在存储设备上的顺序排序的)。如果我的id列表很长,编写内部查询是否是一个好主意?如果
id
是动态生成的,则动态生成查询:-),或者将其拆分为值,使用准备好的语句,使用参数
ID
的不同值多次运行查询,然后在客户端代码中合并并排序返回的结果集。我想这不是个好主意。如果我的id列表很长,那么它不是一个好主意。它是以字符串的形式动态出现的。这应该可以工作。如果您有一个为每个
ID
(如“最近创建的”)选择4项的条件,请将其放入每个内部查询(例如
ORDER BY created DESC
)。否则,每个内部查询将返回4个不确定的行(很可能是按它们在存储设备上的顺序排序的)。如果我的id列表很长,编写内部查询是否是一个好主意?如果
id
是动态生成的,则动态生成查询:-),或者将其拆分为值,使用准备好的语句,使用参数
ID
的不同值多次运行查询,然后在客户端代码中合并并排序返回的结果集。我想这不是个好主意。如果我的身份证清单很长,那就不是个好主意
select * from 
(
    SELECT * from table_name where id = 1 order by created desc limit 4
    union all
    SELECT * from table_name where id = 2 order by created desc limit 4
    union all
    SELECT * from table_name where id = 3 order by created desc limit 4
    union all
    SELECT * from table_name where id = 4 order by created desc limit 4
) tmp
order by created desc