2013-03-14 64 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