2015-07-20 71 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