3,490
社区成员
发帖
与我相关
我的任务
分享
week min(num)
星期二 3
星期三 2
星期一 1
with t as(
select '星期一' week,1 num from dual union all
select '星期一',4 from dual union all
select '星期二',3 from dual union all
select '星期二',5 from dual union all
select '星期三',3 from dual union all
select '星期三',2 from dual union all
select '星期三',4 from dual)
--对week字段分组,用min函数求的分组中的最小值
select week,min(num)
from t group by week
SELECT week,min(num) FROM t GROUP BY week
SELECT week,min(num) FROM t GROUP BY week
SQL> with t as(
2 select 3 a,'1900001212' b,'1900001209' c,'新街变' d,'001' e,to_date('2010-11-29 11:34:00','yyyy-mm-dd hh24:mi:ss') f from dual union all
3 select 13,'1900001222','1900001209','新街变','001',to_date('2010-11-29 21:32:00','yyyy-mm-dd hh24:mi:ss') from dual union all
4 select 7,'1900001222','1900001220','新街变','001',to_date('2010-11-29 22:39:00','yyyy-mm-dd hh24:mi:ss') from dual union all
5 select 27,'1900001231','1900001209','新街变','001',to_date('2010-11-30 14:23:00','yyyy-mm-dd hh24:mi:ss') from dual union all
6 select 21,'1900001231','1900001220','新街变','001',to_date('2010-11-30 11:41:00','yyyy-mm-dd hh24:mi:ss') from dual union all
7 select 4,'1900001231','1900001229','新街变','001',to_date('2010-11-30 11:36:00','yyyy-mm-dd hh24:mi:ss') from dual)
8 select *
9 from t
10 where a in(select min(a) from t group by b)
11 /
A B C D E F
---------- ---------- ---------- ------ --- -----------
3 1900001212 1900001209 新街变 001 2010-11-29
7 1900001222 1900001220 新街变 001 2010-11-29
4 1900001231 1900001229 新街变 001 2010-11-30
with t as(
select 3 a,1900001212 b,1900001209 c,'新街变' d,'001' e,to_date('2010-11-29 11:34:00','yyyy-mm-dd hh24:mi:ss') f from dual union all
select 13,1900001222,1900001209,'新街变','001',to_date('2010-11-29 21:32:00','yyyy-mm-dd hh24:mi:ss') from dual union all
select 7,1900001222,1900001220,'新街变','001',to_date('2010-11-29 22:39:00','yyyy-mm-dd hh24:mi:ss') from dual union all
select 27,1900001231,1900001209,'新街变','001',to_date('2010-11-30 14:23:00','yyyy-mm-dd hh24:mi:ss') from dual union all
select 21,1900001231,1900001220,'新街变','001',to_date('2010-11-30 11:41:00','yyyy-mm-dd hh24:mi:ss') from dual union all
select 4,1900001231,1900001229,'新街变','001',to_date('2010-11-30 11:36:00','yyyy-mm-dd hh24:mi:ss') from dual)
select *
from t
where a in(select min(a) from t group by b)
--
A B C D E F
---------- ---------- ---------- ------ --- -----------
3 1900001212 1900001209 新街变 001 2010-11-29
7 1900001222 1900001220 新街变 001 2010-11-29
4 1900001231 1900001229 新街变 001 2010-11-30
with t as(
select '星期一' week,1 num from dual union all
select '星期一',4 from dual union all
select '星期二',3 from dual union all
select '星期二',5 from dual union all
select '星期三',3 from dual union all
select '星期三',2 from dual union all
select '星期三',4 from dual)
select week,min(num)
from t
group by week;
WEEK MIN(NUM)
------ ----------
星期二 3
星期三 2
星期一 1