oracle数据库查询问题

一张表里有多个公司每个月的不同数据,我想查询一个列表,内容是多个公司最新月份的数据。怎么写sql语句

4个回答

假设表名为sourceTable,字段名分别为company,month,income,loan(公司名、月份、收入、负债)

 select company,month,income,loan from sourceTable where month = (select max(month) from sourcetable )

图1为我预设的数据

图片说明

图2为查询结果

图片说明

fight_in_dl
战在春秋 具体字段以具体情况为准,提供思路,希望有帮助
2 年多之前 回复

select * from sourceTable,(select MAX(month) as month,company from sourceTable group by company) b where
sourceTable.month=b.month and sourceTable.company=b.company

按公司分组,按月份排序或取月份最大值都可以

u013238336
哈喽168 回复qq_25144103: 其他数据字段写在select后面就可以了
2 年多之前 回复
u013238336
哈喽168 回复qq_25144103: 写到group by后面的'公司'字段后面(如果你想按'公司'字段分组的话)
2 年多之前 回复
u013238336
哈喽168 回复qq_25144103: 把你需要查到的字段写到select后面,字段之间用逗号隔开,同时把这些字段写到group by后面去
2 年多之前 回复
qq_25144103
csdn_lizifei 这样也不行,比如说我用公司名称和编号分组,这样只能查询出这个公司的名称个编号的列表还有一个最新月份的,但是我还用到这个公司在最新月份的其他数据:比如这个月份的资产或者负债情况,那要怎么查到呢
2 年多之前 回复
 select max(月份), 公司 from 表 group by 公司
qq_25144103
csdn_lizifei 和楼上出现的是同一个问题
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问