2015-07-20 105 views
0

我的問題是如何做兩個select語句,並在單獨的colummns結果?SQLITE查詢同一個表兩次,並將這些查詢放到兩個不同的列中?

例如,

我的陳述

Select count(*) as "JAN" from tickets where created_at BETWEEN "2015-01-01" AND "2015-01-31" 
Select count(*) as "FEB" from tickets where created_at BETWEEN "2015-02-01" AND "2015-02-25" 

我試圖把一個逗號,並把括號中的第二陳述但是這並沒有任何工作。我不確定我究竟做錯了什麼。任何人都可以看看這個?提前感謝您的時間。

+0

你可以用加入做到這一點。 –

+0

加入使用相同的表?我只是在一個單獨的桌子上工作的印象。 – user614885

+1

@ user614885是的,您可以多次加入同一個表格,通常使用不同的ON條件。 –

回答

1

我想你甚至都不需要一個連接,如SQLite的支持CASE expression

select 
sum(case 
    when created_at between '2015-01-01' and '2015-01-31' then 1 
    else 0 end) as "JAN", 
sum(case 
    when created_at between '2015-02-01' and '2015-02-25' then 1 
    else 0 end) as "FEB" 
from tickets 
+0

謝謝!這正是我所期待的。我無法弄清楚這個功能被稱爲什麼。 – user614885

1

你可以把選擇存儲標量子查詢:

SELECT (SELECT COUNT(*) 
     FROM tickets 
     WHERE created_at GLOB '2015-01*-') AS "JAN", 
     (SELECT COUNT(*) 
     FROM tickets 
     WHERE created_at GLOB '2015-02-*') AS "FEB"; 
+0

我也想謝謝你。上面的答案是我一直在尋找的,但你確實指出了我在另一個方向去研究更多的東西。我很感激。 – user614885