难题,难 select aa,max(日期) from tablename group by aa; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 sorry,最早的应该用min(),:-)select aa,min(日期) from tablename group by aa;试试看 select aa,min(日期)from tablename select aa,min(日期) from tablename group by aa; select aa,min(日期) from tablename group by aa ; 没搞错,这也叫难题,我这出一到吧:银行客户自开户后的100天,用SQL语句输出该天开户的所有客户在这100天中每天帐户上的余额?(包括没有取款的日期) 开户时间 帐号 取款金额 结余金额2002-1-1 000001 RMB 20002002-1-1 000002 RMB 25002002-1-1 000003 RMB 30002002-1-2 000001 RMB 300 RMB 17002002-1-4 000003 RMB 400 RMB 2600 * * (一百天后)2002-4-10 000001 RMB 2002002-4-10 000002 RMB 5002002-4-10 000003 RMB 400 表中有许多重复的行要取出每个重复的第一行,但要求取出的第一行是日期最早的,而且只能用SQL语句实现,如下例:表列:AA 日期 BB CC 1 20020101 1234213 1231 20020501 123123 32 2 20030901 12331 23 2 20030101 12323 133 20020801 13231 123 实现完之后如下图AA 日期 BB CC 1 20020101 1234213 1232 20030101 12323 133 20020801 13231 123 上述所说只能显示两列,要求是要显示所有列的值 有个笨办法:先类似建立一个表,CREATE TABLE "用户名"."TT"("AA" VARCHAR2(10) NOT NULL, "日期" VARCHAR2(10), "BB" VARCHAR2(10), "CC" VARCHAR2(10), CONSTRAINT "AA" PRIMARY KEY("AA")) ;其中AA是主键,不可重复。再建立一个异常表,exception_t;写个过程,select * from table order by 日期,然后insert数据到TT表中,异常情况插入数据到exception_t中即刻。不好意思,办法比较笨,但执行起来不会出错,结果肯定是正确的,且保证是标准sql语句可以实现。 select tablename.* from (select aa,min(日期) from tablename group by aa) tb1,tablename where tablename.aa=tb1.aa and talbename.日期=tb1.日期; 使用虚拟机在Linux下安装Oracle11g遇到的问题 fix型数据换行问题 oracle 中查询表结构。 关于打印的问题 oracle.sql.CLOB字段问题 我想将别的电脑上的oracle8i数据库,转移到另一台电脑上oracle9i,或者转移到11g上怎么转? 求助: ORACLE JOB 问题,如何编写INTERVAL (急) 在oracal中这个包含子查询的语句耗时180秒,请问如何优化这个查询语句? ORA-00942: 表或视图不存在(数据库是导过来的) 求一句SQL的写法 access表的数据倒入oracle? 求教!这个查询该怎么写?
select aa,min(日期) from tablename group by aa;
试试看
group by aa ;
银行客户自开户后的100天,用SQL语句输出该天开户的所有客户在这100天中每天帐户上的余额?(包括没有取款的日期)
开户时间 帐号 取款金额 结余金额
2002-1-1 000001 RMB 2000
2002-1-1 000002 RMB 2500
2002-1-1 000003 RMB 3000
2002-1-2 000001 RMB 300 RMB 1700
2002-1-4 000003 RMB 400 RMB 2600
*
*
(一百天后)
2002-4-10 000001 RMB 200
2002-4-10 000002 RMB 500
2002-4-10 000003 RMB 400
表列:
AA 日期 BB CC
1 20020101 1234213 123
1 20020501 123123 32
2 20030901 12331 23
2 20030101 12323 13
3 20020801 13231 123
实现完之后如下图
AA 日期 BB CC
1 20020101 1234213 123
2 20030101 12323 13
3 20020801 13231 123 上述所说只能显示两列,要求是要显示所有列的值
先类似建立一个表,
CREATE TABLE "用户名"."TT"("AA" VARCHAR2(10) NOT NULL, "日期"
VARCHAR2(10), "BB" VARCHAR2(10), "CC" VARCHAR2(10),
CONSTRAINT "AA" PRIMARY KEY("AA")) ;
其中AA是主键,不可重复。
再建立一个异常表,exception_t;
写个过程,select * from table order by 日期,然后insert数据到TT表中,异常情况插入数据到exception_t中即刻。不好意思,办法比较笨,但执行起来不会出错,结果肯定是正确的,且保证是标准sql语句可以实现。