2013-03-14 123 views
0

我想写的东西是这样的:插入select语句内从声明

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

基本上我想在我的查询上限之前,我算的,所以我需要插入它里面的FROM,但我似乎无法得到正确的语法;将不胜感激任何帮助。

谢谢

+1

mysql!= sql server,特别是在这种情况下(TOP或LIMIT)。那么你需要哪一个? – 2013-03-14 12:57:48

+2

SQL-Server或MySQL?做出选择 – 2013-03-14 12:57:55

回答

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 
1

你的问题很混乱。但是,假设你问如何构建一个子查询,那么你需要周围使用括号的查询和别名结果:

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