每月/每日/每周查询数据和列作为名称

时间:2013-12-24 09:55:19

标签: mysql

我有一张订单表

表:

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)

日期:任何月份或任何年份或任何一周

我不知道做这件事

我希望你给我建议,谢谢

1 个答案:

答案 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)

注意:查询未经过测试。