作者akillerbear (我是歹人雄大)
看板Database
标题[问题] 关於group by的问题
时间Mon Apr 27 16:21:55 2009
小弟目前是用mysql 5
我有多个资料表如下
200001 .200002 ......200012, 200101..........
每个资料表内容大概是
id sex local
-----------------------
12 F 台北市大安区
13 M 嘉义县布袋镇
14 M 基隆市中正区
. . .
. . .
. . .
-----------------------------
我想统计各月份中 不同地区 不同性别的人数
所以我下了
selcet local,count(*)
from 200001
where sex='F'
group by local;
这样只能统计一个月
所以我就用 union 把12个表连起来
selcet local,count(*)
from 200001
where sex='F'
group by local;
union
selcet local,count(*)
from 200002
where sex='F'
group by local;
.
.
.
union
selcet local,count(*)
from 200012
where sex='F'
group by local;
------------------------------
不过因为有区域会显得很杂(乡镇区)
小弟我想只要县市就好
也就是 台北市大安区 *1
台北市信义区 *1
就只分成 台北市 *2 这样一区
不知道有没有办法只group by 前面三个字呢?
感谢^^
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.71.94.30
1F:推 bobju:可参考substring函式的用法. 04/27 16:27
2F:→ akillerbear:乾虾~~ 04/27 17:03
3F:推 adrianshum:我还是第一次看到这种 table design,一个月一个table?! 04/27 17:04
4F:推 asklove:如果资料量非常庞大就必须考虑一个月一个资料表档案 04/27 20:19
5F:推 asklove:试假设一个月的资料量就到达6G,经年累月的结果会怎样呢? 04/27 20:20
6F:推 asklove:结果就是该资料表膨胀到数十百G,每次开关档都冒着危险 04/27 20:20
7F:推 asklove:以上是以假设资料库储存方式为档案的前提下 04/27 20:21
8F:推 asklove:另外备份及还原资料时 一个大档与多个小档 我会想选後者 04/27 20:23
9F:推 adrianshum:解决资料量可用其他方法,拆table只会令entity关系混乱 04/28 02:58
10F:推 asklove:愿闻其详....另外 硬体无法新增或换更好的 04/28 06:57
11F:推 chrisQQ:._./ 我也想知道有什麽其他方法!! 04/28 17:47
12F:推 eggeggss:用table partition.... 04/29 01:39
13F:推 eggeggss:MSSQL 2005有提供partition function,可以参考一下 04/29 23:54
14F:推 chrisQQ:mysql 5.1 好像也有提供 partition 04/30 07:33