数据库结构
CREATE TABLE `users_purse_bill` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`purse_id` int(11) NOT NULL DEFAULT '0' COMMENT '钱包id',
`user_id` int(11) NOT NULL DEFAULT '0',
`num` char(20) NOT NULL DEFAULT '' COMMENT '单号',
`type` tinyint(1) DEFAULT '0' COMMENT '类型 1.增加 2.减少',
`amount` decimal(8,2) NOT NULL DEFAULT '0.00' COMMENT '数额',
`remakes` varchar(200) DEFAULT '',
`status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '状态 0.未完成 1.已完成 2.待处理 3.作废',
`updated_at` int(10) DEFAULT NULL,
`created_at` int(10) DEFAULT NULL,
`deleted_at` int(10) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=382 DEFAULT CHARSET=utf8 COMMENT='用户--钱包--账单表';
解决方案:
1:
做统计一般是做一个统计结果表,每天用定时任务重新统计数据,查的时候直接从统计结果表里取就行了。直接上 SQL 来统计不仅写起来麻烦、看起来不清晰,更重要的是慢。
2:
把满足条件的所有数据都查询出来,然后用 php 来把数据处理成你想要的就行了,并非必须用SQL处理
案例:
Controller:
namespace App\Http\Controllers\Admin;
use Il