1
是否有可能做一個查詢用做幾聚集在一個查詢的WHERE子句SQL
我知道磨片可以用
SELECT SUM(value) FROM mytable WHERE date between '2012-05-01' AND '2012-06-01'
我一直在試圖做出了榜樣裏面幾個聚集函數
CREATE TABLE mytable
(id varchar(10), value int, `date` date, situation varchar(10)) ;
INSERT INTO mytable
(id, value, date, situation)
VALUES
('id0', 1338, '2012-05-14','Urgent'),
('id0', 3572, '2012-05-13','Urgent'),
('id0', 3232, '2012-05-06','Urgent'),
('id0', 3068, '2012-05-05','Post'),
('id0', 3363, '2012-05-04','Urgent'),
('id0', 2022, '2012-04-28','Anual'),
('id0', 3193, '2012-04-24','Post')
但是有可能使用相同的查詢來獲得其他聚合值嗎?的
SELECT SUM(value),SUM(value),Count(*) FROM mytable WHERE date between '2012-05-01' AND '2012-06-01', WHERE date between '2012-05-01' AND '2012-10-01', Where situation like 'Urgent'
,而不是3查詢:
SELECT SUM(value) FROM mytable WHERE date between '2012-05-01' AND '2012-06-01'
SELECT SUM(value) FROM mytable WHERE date between '2012-05-01' AND '2012-10-01'
SELECT Count(*) FROM mytable Where situation like 'Urgent'
你真的是指'2012-05-01'和'2012-10-01''之間的日期嗎?或者你的意思是'date> ='2012-05-01'和日期<'2012-10-01''?在第一版中,2012-10-01包含在計算中。第二,事實並非如此。 (如果你使用'datetime'而不是'date',那麼第一個版本的含義會不同。) –