首页 > 解决方案 > 按两个条件分组

问题描述

我有一张名为汽车的桌子。它有三列:mark、color、date5。

我需要将该表与汽车颜色和日期在 2005-01-01 之后的汽车分组

select color, count(color), (select color from cars where date5 > date'2005-01-01')
from cars
group by color;

但它计算所有汽车的第三列。

我需要得到三列:1. 颜色 2. 所有颜色的计数 3. 日期在 2005-01-01 之后的所有颜色的计数

第三个条件让我感到困惑。

标签: sqloracle

解决方案


如果您想计算 2005 年 1 月 1 日之后汽车的每种颜色的计数,您应该使用

select color, count(*)
from cars 
where date5 > TO_DATE('01/01/2005','dd/mon/yyyy')
group by color;

推荐阅读