免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4649 | 回复: 4
打印 上一主题 下一主题

请教一个语句,不太理解.[已解决] [复制链接]

论坛徽章:
3
未羊
日期:2013-11-18 15:17:06酉鸡
日期:2013-12-06 17:07:16天蝎座
日期:2014-06-11 12:37:07
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-11-27 14:20 |只看该作者 |倒序浏览
本帖最后由 墨迹哥 于 2013-11-27 14:41 编辑

自己琢磨出来了:
结果是这样的:
  1. mysql> select month,sum(count_all) from (SELECT CONCAT(YEAR(time_start),'-',MONTH(time_start)) month,count(*) count_all FROM w3a_net_monitor_web_attack GROUP BY CONCAT(YEAR(time_start),'-',MONTH(time_start)) union all SELECT CONCAT(YEAR(time_start),'-',MONTH(time_start)) month,count(*) count_all FROM w3a_net_monitor_network_attack GROUP BY CONCAT(YEAR(time_start),'-',MONTH(time_start))) t group by month;
  2. +---------+----------------+
  3. | month   | sum(count_all) |
  4. +---------+----------------+
  5. | 2013-10 |              1 |
  6. | 2013-11 |           1593 |
  7. | 2013-8  |              1 |
  8. | 2013-9  |              1 |
  9. +---------+----------------+
  10. 4 rows in set (0.01 sec)
复制代码
具体是这样的,之前论坛高人教了一招查询的方法。group by .

后来自己摸索。具体有个问题不太理解。

以下是并和两张表的查询结果,查出来是正常的。
  1. mysql> SELECT CONCAT(YEAR(time_start),'-',MONTH(time_start)) month,count(*) count_all FROM w3a_net_monitor_web_attack GROUP BY CONCAT(YEAR(time_start),'-',MONTH(time_start)) union all SELECT CONCAT(YEAR(time_start),'-',MONTH(time_start)) month,count(*) count_all FROM w3a_net_monitor_network_attack GROUP BY CONCAT(YEAR(time_start),'-',MONTH(time_start));
  2. +---------+-----------+
  3. | month   | count_all |
  4. +---------+-----------+
  5. | 2013-10 |         1 |
  6. | 2013-11 |       826 |
  7. | 2013-8  |         1 |
  8. | 2013-9  |         1 |
  9. | 2013-11 |       767 |
  10. +---------+-----------+
  11. 5 rows in set (0.00 sec)
复制代码
但是当我要进行Group by 继续下去的时候,就不行了。。还请请教下这是为什么?
  1. mysql> select CONCAT(YEAR(time_start),'-',MONTH(time_start)),count(*) from (SELECT CONCAT(YEAR(time_start),'-',MONTH(time_start)) month,count(*) count_all FROM w3a_net_monitor_web_attack GROUP BY CONCAT(YEAR(time_start),'-',MONTH(time_start)) union all SELECT CONCAT(YEAR(time_start),'-',MONTH(time_start)) month,count(*) count_all FROM w3a_net_monitor_network_attack GROUP BY CONCAT(YEAR(time_start),'-',MONTH(time_start))) b group month;

  2. ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'month' at line 1
复制代码
还有是这样的。。
  1. mysql> select CONCAT(YEAR(month),'-',MONTH(month)) aaa,count(*) from (SELECT CONCAT(YEAR(time_start),'-',MONTH(time_start)) month,count(*) count_all FROM w3a_net_monitor_web_attack GROUP BY CONCAT(YEAR(time_start),'-',MONTH(time_start)) union all SELECT CONCAT(YEAR(time_start),'-',MONTH(time_start)) month,count(*) count_all FROM w3a_net_monitor_network_attack GROUP BY CONCAT(YEAR(time_start),'-',MONTH(time_start))) b group by aaa;
  2. +------+----------+
  3. | aaa  | count(*) |
  4. +------+----------+
  5. | NULL |        5 |
  6. +------+----------+
  7. 1 row in set, 6 warnings (0.02 sec)
复制代码

论坛徽章:
3
未羊
日期:2013-11-18 15:17:06酉鸡
日期:2013-12-06 17:07:16天蝎座
日期:2014-06-11 12:37:07
2 [报告]
发表于 2013-11-27 14:35 |只看该作者
@tiankafeiwu  求指教。。。

论坛徽章:
2
酉鸡
日期:2014-02-19 09:11:08摩羯座
日期:2014-05-23 10:16:16
3 [报告]
发表于 2013-11-27 22:06 |只看该作者
你是想根据查出来的month字段,把count合并吗,
如果你想这么用,group by是可以实现的,
group by是一个分组实现,通常在select时候前面要联合分组函数才行,如count(),sum()等函数。回复 2# 墨迹哥


   

论坛徽章:
3
未羊
日期:2013-11-18 15:17:06酉鸡
日期:2013-12-06 17:07:16天蝎座
日期:2014-06-11 12:37:07
4 [报告]
发表于 2013-11-28 09:12 |只看该作者
回复 3# tiankafeiwu


    明白了。。haha

论坛徽章:
8
CU大牛徽章
日期:2013-09-18 15:20:48CU大牛徽章
日期:2013-09-18 15:20:58CU大牛徽章
日期:2013-09-18 15:21:06CU大牛徽章
日期:2013-09-18 15:21:12CU大牛徽章
日期:2013-09-18 15:21:17天秤座
日期:2013-10-30 14:01:03摩羯座
日期:2013-11-29 18:02:31luobin
日期:2016-06-17 17:46:36
5 [报告]
发表于 2013-11-29 11:39 |只看该作者
@tiankafeiwu

威武
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP