在from语句中插入select语句

时间:2013-03-14 12:56:47

标签: mysql sql sql-server

我正在尝试写这样的东西:

SELECT COUNT(*)
FROM
    SELECT TOP 3 (*)
    FROM TA
    WHERE TA.X = 'derp'

基本上我在计算之前想要查询的上限,所以我需要将它插入到FROM中,但我似乎无法使语法正确;非常感谢任何帮助。

由于

2 个答案:

答案 0 :(得分:1)

你的问题很混乱。但假设您正在询问如何构造子查询,那么您需要在查询周围使用括号并为结果添加别名:

SELECT COUNT(*)
FROM
   (
    SELECT TOP 3 *
    FROM TA
    WHERE TA.X = 'derp'
   ) TableAlias

答案 1 :(得分:1)

Sql server:

SELECT COUNT(*)
FROM (SELECT TOP 3 *
      FROM TA
      WHERE TA.X = 'derp') as t

Mysql的

SELECT count(*)
FROM (SELECT NULL 
      FROM TA
      WHERE TA.X = 'derp'
      LIMIT 3) as t