1.数据表中有一个时间字段f_signTime(yyyy-MM-dd).
2.把这个字段划分成4个季度。
3.此数据表中有一个浮点型f_offerRate字段。要求:根据f_signTime划分为四个季度,并且把每一个季度的f_offerRate平均值统计出来。求各位给力达人帮助,谢谢。
2.把这个字段划分成4个季度。
3.此数据表中有一个浮点型f_offerRate字段。要求:根据f_signTime划分为四个季度,并且把每一个季度的f_offerRate平均值统计出来。求各位给力达人帮助,谢谢。
+-----------------------+
| quarter('2010-01-01') |
+-----------------------+
| 1 |
+-----------------------+
1 row in set (0.00 sec)mysql> select quarter('2010-05-01');
+-----------------------+
| quarter('2010-05-01') |
+-----------------------+
| 2 |
+-----------------------+
1 row in set (0.00 sec)mysql> select quarter('2010-09-01');
+-----------------------+
| quarter('2010-09-01') |
+-----------------------+
| 3 |
+-----------------------+
1 row in set (0.00 sec)mysql> select quarter('2010-011-01');
+------------------------+
| quarter('2010-011-01') |
+------------------------+
| 4 |
+------------------------+
1 row in set (0.00 sec)
建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
`pk_id` bigint(20) NOT NULL AUTO_INCREMENT,
`f_contractId` varchar(100) DEFAULT NULL COMMENT '合同编号',
`f_contractType` varchar(10) DEFAULT NULL COMMENT '合同类型(1、进出口:YE/11、2、股份:YEN/10、3、内销:YNE-D012)',
`fk_customer_id` bigint(20) DEFAULT NULL COMMENT '客户编号',
`f_contacts` varchar(200) DEFAULT NULL COMMENT '客户联系方式',
`f_signTime` datetime DEFAULT NULL COMMENT '合同签订日期',
`fk_moneyType_id` bigint(20) DEFAULT NULL COMMENT '结算币种',
`fk_bank_id` bigint(20) DEFAULT NULL COMMENT '银行',
`fk_payment_id` bigint(20) DEFAULT NULL COMMENT '付款方式',
`f_deliveryTime` datetime DEFAULT NULL COMMENT '合同发货日期',
`f_reqArrivalTime` varchar(200) DEFAULT NULL COMMENT '要求到货日期',
`f_state` int(11) DEFAULT NULL COMMENT '合同状态(0:作废,1:正常,2:已采购入库,3:已发货,9:已结算)',
`f_purchaseState` int(11) DEFAULT NULL COMMENT '是否购入(0:否,1:是)',
`f_paymentState` int(11) DEFAULT NULL COMMENT '是否付款(0:否,1:是)',
`f_deliveryState` int(11) DEFAULT NULL COMMENT '是否发货(0:否,1:是)',
`fk_country_id` bigint(20) DEFAULT NULL COMMENT '国别',
`f_destination` varchar(200) DEFAULT NULL COMMENT '货品目的地',
`f_sampleState` tinyint(1) DEFAULT NULL COMMENT '是否凭样',
`f_sampleBatch` varchar(500) DEFAULT NULL COMMENT '样品批次',
`f_deputyNum` varchar(500) DEFAULT NULL COMMENT '代表数量',
`f_offerRate` decimal(18,2) DEFAULT NULL COMMENT '报盘汇率',
`f_settleRate` decimal(18,2) DEFAULT NULL COMMENT '结算汇率',
`f_orderNum` varchar(100) DEFAULT NULL COMMENT '订单号',
`fk_inputPerson_id` bigint(20) DEFAULT NULL COMMENT '录单人员编号',
`f_inputTime` datetime DEFAULT NULL COMMENT '录单日期',
`f_totalAmount` decimal(18,2) DEFAULT NULL COMMENT '合同总金额',
`f_totalQuantity` decimal(18,2) DEFAULT NULL COMMENT '商品销售总数量',
`f_re` text COMMENT '合同说明',
PRIMARY KEY (`pk_id`)
) ENGINE=InnoDB AUTO_INCREMENT=81 DEFAULT CHARSET=utf8 COMMENT='销售合同信息';2.根据f_signTime字段,该字段里面的数据格式都是(yyyy-mm-dd),根据此字段统计出每年4个季度offerRate和settleRate平均值如2011年:第一季度 | avg(offerRate)| avg(settleRate)3.参数就是一个,我会传递一个时间参数比如2011年