用这个句子查询出来的数据只有姓名和日期,如何样得到金额呢
用这个句子查询出来的数据只有姓名和日期,怎么样得到金额呢?
表如下:
王二 2000-01-01 500元
王二 2010-02-02 600元
李四 2010-01-01 500元
句子是: select 姓名,Min(存款日期) as 日期 from 数据表 group by 姓名
这只能得到姓名和日期两个字段怎么样得到金额字段呢?
------解决方案--------------------
表如下:
王二 2000-01-01 500元
王二 2010-02-02 600元
李四 2010-01-01 500元
句子是: select 姓名,Min(存款日期) as 日期 from 数据表 group by 姓名
这只能得到姓名和日期两个字段怎么样得到金额字段呢?
------解决方案--------------------
- SQL code
select 姓名,Min(存款日期) as 日期,金额/*加个金额就可以了*/ from 数据表 group by 姓名
------解决方案--------------------
子查询试了没?
select xingming,min(rq),(select jine from table where table.xingming=a.xingming) from table as a group by xingming
------解决方案--------------------
这样?
select sum(money) from (select 姓名,Min(存款日期) as 日期,money from 数据表 group by 姓名)
------解决方案--------------------
更正错误
- SQL code
select a.姓名,a.存款日期 as 日期,金额 inner join (select 姓名,Min(存款日期) as 日期 from 数据表 group by 姓名) b on a.姓名 = b.姓名 and a.存款日期 = b.日期 from 数据表 a
------解决方案--------------------
还是写错了,倒。。
- SQL code
select a.姓名,a.存款日期 as 日期,金额 from 数据表 a inner join (select 姓名,Min(存款日期) as 日期 from 数据表 group by 姓名) b on a.姓名 = b.姓名 and a.存款日期 = b.日期
------解决方案--------------------
受楼上启发
- SQL code
select a.xm,a.rq,jine from a,(select xm,min(rq) as rq from a group by xm) as b where a.xm=b.xm and a.rq=b.rq
------解决方案--------------------
SELECT a.姓名, a.存款日期 AS 日期, a.金额
FROM 数据表 a INNER JOIN
(SELECT 姓名, MIN(存款日期) AS 日期
FROM 数据表
GROUP BY 姓名) b ON a.姓名 = b.姓名 AND a.存款日期 = b.日期
正解,不过应该有很多种写法,建议楼主去 SQL 版问问看
------解决方案--------------------
- SQL code
select * from 数据表 a where not exists (select 1 from 数据表 where 姓名=a.姓名 and 存款日期<a.存款日期)
------解决方案--------------------
SELECT a.姓名, a.存款日期 AS 日期, a.金额
FROM 数据表 a INNER JOIN
(SELECT 姓名, MIN(存款日期) AS 日期
FROM 数据表
GROUP BY 姓名) b ON a.姓名 = b.姓名 AND a.存款日期 = b.日期