易截截图软件、单文件、免安装、纯绿色、仅160KB

mysql中GROUP BY结合GROUP_CONCAT的使用 [转]

http://javeye.javaeye.com/blog/558093
我们知道,group by可以将sql查询结果按照group by后面列进行分类显示。比如:
Sql代码
select
 columnA,columnB 
from
 
table
 
group
 
by
 columnA,columnB  
select columnA,columnB from table group by columnA,columnB
 则查询结果将按照columnA和columnB分类显示。没有显示在group by中的列不能直接作为返回列放在sql语句中,比如如下sql就是不正确的
Sql代码
select
 columnA,columnC 
from
 
table
 
group
 
by
 columnA   
select columnA,columnC from table group by columnA
 由于columnC不在group by的范围之类,所以这样写是不对的,所幸的是,group by支持一些sql 函数的使用,比如SUM,AVG,COUNT等等。这些都比较常用,今天我要记录下的是这个不常用的GROUP_CONCAT。
有一个需求,需要用到group by 才能实现,可是,我同是还需要返回某列的所有结果,(注意,不是做avg,sum等操作,我要枚举这列的所有结果),那么就可以用到GROUP_CONCAT。
举个例子:
我有一张数据库表结构如下:
列名
含义
year
年份
month
月份
volumn
期数
该表存储了某杂志的年份,月份和期数。如果需求对该表内容作如下显示:
2010年12月
第1期  第2期  第3期 第4期
2010年11月
第1期  第2期  第3期 第4期  第5期
2010年10月
第1期  第2期  第3期 第4期
2010年9月
第1期  第2期  第3期 第4期  第5期
2010年8月
第1期  第2期  第3期 第4期 
sql该怎么写呢?按照年份和月份做group by?然后按照年份和月份做倒叙排列?
Sql代码
select
 
year
,
month
 
from
 magazine 
group
 
by
 
year
,
month
 
order
 
by
 
year
 
desc
,
month
 
desc
  
select year,month from magazine group by year,month order by year desc,month desc
 那具体的期数信息就丢了?能不能做group by的时候,还能返回在某个年份year和月份month分组下的所有期数volumn信息?(某个年份+月份下的期数信息是不固定的,只能通过数据库查询才能获得)
该是GROUP_CONCAT上阵的时候了。
Sql代码
selec


相关文档:

MySQL数据库复制Master Master Slave架构

我们用Master-Slaves架构解决了读压力比较大的应用,而我们用Master-Master架构解决了单点服务问题,提供了系统的可用性。但是有时我们面临巨大的读数据压力,特别是web系统,又需要解决单点服务的问题,为应用提供足够高的可用性。这时我们就需要将这两种架构结合起来。这就是Master-Master-Slaves架构。结构图如下
Maste ......

MySQL partition分区I

一、        分区的概念
二、        为什么使用分区?(优点)
三、        分区类型
四、        子分区
五、        对分区进行修改(增加、删除、分解、 ......

MySQL数据导入导出csv文件命令

MySql数据库导出csv文件命令:
mysql> select first_name,last_name,email from account into outfile 'e:\\output1.csv' fields terminated by ','optionally enclosed by ''lines terminated by '\n';
csv文件效果:



sunny
Grigoryan
lovechoosesun@gmail.com
Jon
Siegal
sun@riliantech.net
Joe
S ......

mysql 语法

Transact_SQL小手册
*******************Transact_SQL********************
--语 句                                功 能
--数据操作
SELECT & ......

oracle向mysql移植

有一些没有使用数据库中间件的软件可能会碰到在不同的应用场景需要用不同的数据库,这样可能就需要将数据库代码做移植,我这里整理了一些从oracle到mysql的移植过程中的注意事项:
1。sequence生成
可以用类似的东西来做,如下:  
  create   table   myseq   ( &nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号