msql查询FROM另一个msl查询

时间:2015-10-17 11:21:19

标签: mysql

我是SQL的新手,所以我不太清楚如何处理这个我必须做的查询... 我有多个表格,它们都有2列我想要(pathUnion select ("date_added" and "path"))。

所以我为每张桌子做了SELECT `date_added`, `path` FROM `art_1` UNION SELECT `date_added`, `path` FROM `art_5484` 。所以我现在有一个表格,其中包含我想要的所有表格中的所有行:

SELECT `path`  
FROM cross_join = (SELECT `date_added`, `path` FROM `art_1` UNION SELECT `date_added`, `path` FROM `art_5484`)
WHERE `date_added` = MIN(`date_added`)

这很好用,但现在我需要得到最低日期的行(我使用min函数)。所以我想在我上次查询得到的表格上做选择,所以我这样做:

{{1}}

但这不起作用;我猜这是一个语法错误,但我不知道在哪里......
如果有人可以帮助我,那就太棒了!

1 个答案:

答案 0 :(得分:1)

获得最短约会的一种方法是使用order bylimit

SELECT `path`  
FROM (SELECT `date_added`, `path` FROM `art_1` UNION ALL
      SELECT `date_added`, `path` FROM `art_5484`
     ) a
ORDER BY date_added DESC
LIMIT 1;

注意:即使存在重复项,也只返回一个值。另外,我将UNION更改为UNION ALL。默认情况下,您应该使用UNION ALL,因为UNION会产生删除重复项的开销。