CREATE TABLE `art_statistics_log` (
  `Log_ID` varchar(36) NOT NULL DEFAULT '',
  `Operation` varchar(500) DEFAULT NULL,
  `IP` varchar(20) DEFAULT NULL,
  `URL` varchar(100) DEFAULT NULL,
  `Add_Time` timestamp NULL DEFAULT NULL,
  `Org_ID` varchar(36) DEFAULT NULL,
  `Member_ID` varchar(36) DEFAULT NULL,
  `Member_Type` varchar(36) DEFAULT NULL,
  `Operation_Type` varchar(11) DEFAULT NULL,
  `Class_Code_ID` varchar(36) DEFAULT NULL,
  `Picture_ID` varchar(36) DEFAULT NULL,
  PRIMARY KEY (`Log_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='操作类型:\r\n1 页面访问 \r\n2 登录         用户名\\IP地址 包含1\r\n3 图片浏览 用户名\\IP地址、图片ID、分类ID 包含1\r\n4 高清浏览 用户名\\IP地址、图片ID、分类ID 包含1、3\r\n5 图片下载 用户名\\IP地址、图片ID、分类ID 包含1、3\r\n6 图片收藏 用户名\\IP地址、图片ID、分类ID 包含1、3\r\n7 分享         用户名\\IP地址 包含1\r\n8 评论         用户名\\IP地址                 包含1\r\n9       展览日历\r\n\r\n用户类型:\r\n1            IP用户\r\n2            登录用户';请问各位,这是一张统计表字段其中Operation_Type字段一共有5个值(1-5代表5种不同的操作)其中Add_Time 是时间字段 ,现在要求按月统计每种不同的操作类型总数:例如2013-07   count(Operation_Type=1) count(Operation_Type=2). 而向数据库插入是一种操作类型就向数据库插入一条数据和时间  请问这SQL如何一条语句解决?谢谢!SQL语句编写,mysql

解决方案 »

  1.   

    你这语句是不是一条分类查询就能解决?
    form table group by 
      

  2.   

    select '2012-07’ as 月份,sum(decode(Operation_Type,'1',1,0)) 操作1总数,
    sum(decode(Operation_Type,'2',1,0)) 操作2总数,
    sum(decode(Operation_Type,'3',1,0)) 操作3总数,
    sum(decode(Operation_Type,'4',1,0)) 操作4总数
     from art_statistics_log where to_char(Add_Time,'YYYY-MM') like '%2012-07';