mysql - 是否可以创建一个表,然后在一个查询中从中进行选择?

标签 mysql

我很好奇是否有一种方法可以在表格上进行选择,表格本身就是选择的产物。一些(伪)的东西

    select a,b,c from 
(select id as a, name as b, phone as c, date as d from some_table) 
where  d = now();

因此,实际上括号将返回一个表,其列由 as 定义,然后外部 select 可以去查询该结果。

如果不完全是这样,我很想知道我可以使用什么模糊的类似方法。

我需要这个的原因是我有一个对我的用户数据运行的相当广泛的数据透视查询,我希望能够从相当大的结果中进行选择。

最佳答案

您可能遇到类似“派生表需要别名”之类的错误

以下作品:

select a,b,c 
from (
     select id as a, 
            name as b, 
            phone as c, 
            some_date as d 
     from some_table
) as t 
where  d <= now();

别名 t 定义了一个所谓的派生表。

SQLFiddle:http://sqlfiddle.com/#!2/05fd6/2

关于mysql - 是否可以创建一个表,然后在一个查询中从中进行选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16685690/

相关文章:

用于多重包含和排除的MySQL复杂连接

php - 在 PHP 中显示 MySQL 表(行数不同)

MySQL:添加人与人之间的联系

mysql子查询并具有子查询的最大值

php - SQL 如果值类似于多列,则选择该列

尝试创建表时出现 MySQL 错误,

mysql - phpMyAdmin : #1064 - SQL syntax when creating a new table

Mysql IN() 与 UNION ALL 性能对比

php - 通过 MySQL/PHP 在 CRUD 网格中实现年龄属性

mysql - CakePHP,不加入或排除加入?