我有一张订单表
表:
CREATE TABLE IF NOT EXISTS `order_main` (
`om_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`om_raren` varchar(20) NOT NULL COMMENT 'serial number',
`om_total` int(11) NOT NULL COMMENT 'money',
`om_freight` int(11) NOT NULL COMMENT 'freight',
`om_amount` int(11) NOT NULL COMMENT 'money + freight',
`om_status` int(11) NOT NULL COMMENT 'Order Status:1)Unpaid 2)Paid 3)Cancel 4)Payment
success,
`om_created` datetime NOT NULL COMMENT 'create time',
PRIMARY KEY (`om_id`)
)
我想要三种查询方法:
1)逐年
2)逐月
3)逐周
我希望结果如下:
AllRow AllTotal date
2 100 1
10 1000 10
10 1000 12
AllRow:items Count,count(*)
AllTotal:总和(om_total)
日期:任何月份或任何年份或任何一周
我不知道做这件事
我希望你给我建议,谢谢
答案 0 :(得分:1)
您可以尝试使用年份:
select count(*) as AllRow, sum(om_total) as AllTotal,YEAR(om_created) as d from order_main group by YEAR(om_created)
月份
select count(*) as AllRow, sum(om_total) as AllTotal,Month(om_created) as m from order_main group by year(om_created),month(om_created)
周?
select count(*) as AllRow, sum(om_total) as AllTotal,WEEK(om_created) as week from order_main group by year(om_created),WEEK(om_created)
注意:查询未经过测试。