数据库查询,分组查询

问题描述

数据库查询,分组查询


这是要查的数据所对应的表,下边是sql
SELECT SUM(DECODE
(t.SUBJECT_TYPE,'zc',t.CASH_AMOUNT,0)) AS zcAmount,
SUM(DECODE (t.SUBJECT_TYPE,'fz',t.CASH_AMOUNT,0)) AS fzAmount,
SUM(DECODE (t.SUBJECT_TYPE,'qy',t.CASH_AMOUNT,0)) AS qyAmount,
SUM(DECODE (t.SUBJECT_TYPE,'sr',t.CASH_AMOUNT,0)) AS srAmount,
SUM(DECODE (t.SUBJECT_TYPE,'cb',t.CASH_AMOUNT,0)) AS cbAmount
FROM T_CBPS_ACCOUNT_HIS t where t.ACCOUNT_DATE ='20150909'

问题来了,因为表中account_currency字段是不同的,我现在怎么在根据这个字段在上边的基础上进行分组查询. 而且字段account_currency中的01,12什么的都是从代码中传过来的。谢谢大伙儿。

解决方案

SELECT Cname ,Grade
FROM SC,Courses
WHERE SC.Cno=Courses.Cno ?AND Sno=’2011247’;
SELECT ?Students.Sno,Grade
FROM SC,Students
WHERE ?Students.Sno=SC.Sno AND ?Cno=’CS202’AND Grade>90;
SELECT ?Stud......
答案就在这里:数据库分组查询

解决方案二:

 SELECT SUM(DECODE
(t.SUBJECT_TYPE,'zc',t.CASH_AMOUNT,0)) AS zcAmount,
SUM(DECODE (t.SUBJECT_TYPE,'fz',t.CASH_AMOUNT,0)) AS fzAmount,
SUM(DECODE (t.SUBJECT_TYPE,'qy',t.CASH_AMOUNT,0)) AS qyAmount,
SUM(DECODE (t.SUBJECT_TYPE,'sr',t.CASH_AMOUNT,0)) AS srAmount,
SUM(DECODE (t.SUBJECT_TYPE,'cb',t.CASH_AMOUNT,0)) AS cbAmount
FROM T_CBPS_ACCOUNT_HIS t where t.ACCOUNT_DATE ='20150909'
GROUP BY  account_currency
时间: 2024-11-05 17:27:46

数据库查询,分组查询的相关文章

ms sql-MS SQL 分组查询的疑问。

问题描述 MS SQL 分组查询的疑问. 我突然间对数据库的分组查询好像忘得差不多了,也突然变得不太理解.(解决问题) 如,表结构: Table Name:TEST ID name sex(bit) area ----------------------------- 1 mr.a 1 CN 2 mr.b 1 USA 3 mr.c 1 CN 4 mr.d 0 USA 5 mr.e 0 JP 6 mr.f 1 USA ----------------------------- GROUP 如何查询

db2数据库-DB2根据两个列进行分组查询是怎么回事?

问题描述 DB2根据两个列进行分组查询是怎么回事? 今天遇到了数据库分组查询的问题:比如我现在根据两个列进行分组:分组后查询到的数据是怎么算的啊 比如 select ...from ..group by a , b : 解决方案 先根据a排序,a相同的根据b排序

mysql 数据库-关于mysql关联多列查询,分组查询并输出每组数据的中值

问题描述 关于mysql关联多列查询,分组查询并输出每组数据的中值 imei phone key value 863184021544828 lenovoa788t c14 484 355799050650579 samsungi9500 c14 542 355799050650579 samsungi9500 c14 623 868331013987821 huaweiu9508 c14 523 868331013987821 huaweiu9508 c14 498 8683310139878

数据-java mysql 按日期分组查询

问题描述 java mysql 按日期分组查询 如在mysql中有张表user 有三条数据 注册时间分别是是2014-11-28,2014-11-28,2014-11-29 那我要怎么分组查询出2014-11-01到2014-11-30的数据,空的也显示 要显示成 count time . . . . 0 2014-11-26 0 2014-11-27 2 2014-11-28 1 2014-11-29 0 2014-11-30 或者在java里面怎么补全 解决方案 告诉你思路,自己写,mysq

SQL数据库如何加快查询速度?

  1.升级硬件 2.根据查询条件,建立索引,优化索引.优化访问方式,限制结果集的数据量. 3.扩大服务器的内存 4.增加服务器CPU个数 5.对于大的数据库不要设置数据库自动增长,它会降低服务器的性能 6.在查询Select语句中用Where字句限制返回的行数,避免表扫描,如果返回不必要的数据,浪费了服务器的I/O资源,加重了网络的负担降低性能.如果表很大,在表扫描的期间将表锁住,禁止其他的联接访问表,后果严重. 7.查询时不要返回不需要的行.列 8.用select top 100 / 10

java-一个纠结的sql分组查询语句

问题描述 一个纠结的sql分组查询语句 是这样的 数据库里有一张 宿舍用电表(宿舍号,时间,电表度数) dormitoryElectric(dormitory,time,electric) 里面存的是每个小时电表上的度数,那我想查询所有宿舍近7天的每天用电度数要怎么写. 效果大概是这样的: 宿舍1 第一天用电度数 第二天用电度数 第三天用电度数 ... 宿舍2 第一天用电度数 第二天用电度数 第三天用电度数 ... 第二天用电度数应该是第二天的最后一次电表度数减去第一天的最后一次电表度数 解决方

大数据-orcale大量数据分组查询报错求大神指点

问题描述 orcale大量数据分组查询报错求大神指点 对一个表数据进行分组查询,但是数据量太大了,当时是3000w条,跑着就报错了,数据库内部错误,也不是很懂.想请教下group by的时候是否数据量太多会报错,如果是它可以承受多大的数据量分组查询. 解决方案 肯定会报错,数据量大就会请求超时 解决方案二: 建议使用索引,给需要分组的字段加索引 解决方案三: 你可以试试根据你当前数据库的配置情况,进行分组查询的时候,使用多线程的方式进行查询 例如: select /*+ parallel(t,1

分组查询的每组中某列的各行字符数据相加显示

问题描述 分组查询的每组中某列的各行字符数据相加显示,即把每组中多行数据的某列通过字符相加显示成一行.例如:分组查询的结果如下,typenamescore1frank901joane802tom1002jack503dong993bruce90我想要的结果是typenamessumScore1frankjoane1702tomjack1503dongbruce189由于数值分组加和统计很容易,但是由于要将字符串相加显示,有没有更简便的计算方法,请高手帮我写写这个sql语句,谢谢! 解决方案 解决

mysql常用基础操作语法(七)--统计函数和分组查询【命令行模式】

注:文中所有的...代表多个. 1.使用count统计条数:select count(字段名...) from tablename; 2.使用avg计算字段的平均值:select avg(字段名) from tablename: 这里都可以适当的拓展,比如加条件,重命名等等. 3.使用sum求和:select sum(字段名) from tablename: 4.使用max和min求最大值.最小值: 5.注意:使用这些函数时,如果数据库中没有数据,count返回0,其他的返回null: 6.使用