Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.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 如何从n个表中仅获取n条记录_Php_Mysql_Sql - Fatal编程技术网

Php 如何从n个表中仅获取n条记录

Php 如何从n个表中仅获取n条记录,php,mysql,sql,Php,Mysql,Sql,我有3个不同内容的表,它们都有datetime列 我想通过datetime DESC从3个表中的任意一个表中获取最后10条记录 可能表1中有5条记录,表2中有3条记录,表3中有2条记录 我如何在mysql中做到这一点。我应该使用Union 我尝试了这两种查询: 问题1: 问题2: ( SELECT * FROM table 1 LIMIT 10 ) UNION ( SELECT * FROM table 2 LIMIT 10 ) UNION ( SELECT * FROM table 3 LIM

我有3个不同内容的表,它们都有
datetime

我想通过datetime DESC从3个表中的任意一个表中获取最后10条记录

可能表1中有5条记录,表2中有3条记录,表3中有2条记录

我如何在mysql中做到这一点。我应该使用
Union

我尝试了这两种查询:
问题1:

问题2:

( SELECT * FROM table 1 LIMIT 10 )
UNION
( SELECT * FROM table 2 LIMIT 10 )
UNION
( SELECT * FROM table 3 LIMIT 10 )

但是这些查询返回30条记录。

您必须单独写入,因为您需要单独的限制

(如果有相同的列)

更新:

//if we need 10 rows in the result
SELECT * FROM table1,table2,table3 limit 10

你试过什么了吗?我试过union,但它会分别返回每个表的最后10条记录。它返回30条记录。尝试
限制每个查询的结果数
如何限制从3个表中获得10条记录?每人3.3英镑!!!!?不,限制每个查询,添加您在问题中尝试过的查询他说表具有“不同的内容”,联合要求每个连接的查询返回相同数量的列,并且每个列的类型相同。如果这3个表有不同的内容,而您选择了3个连接查询中的所有列,您认为这会起作用吗?他说内容不是列,他还说他在问题中尝试了联合:)
SELECT * FROM table1 limit 5
UNION ALL
SELECT * FROM table2 limit 3
UNION ALL
SELECT * FROM table3 limit 2
//if we need 10 rows in the result
SELECT * FROM table1,table2,table3 limit 10