易截截图软件、单文件、免安装、纯绿色、仅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


相关文档:

Head First PHP MYSQL 学习随笔 1


1) 
安装Apache/2.2.14 和 PHP/5.2.12 之后,重新启动Apache,启动失败。查了一些资料,基本上给出的建议是禁掉Extension。我就装了一个Extesion Mysqli。
修改php.ini 注释掉这一行,果然生效。
[PHP_MYSQLI]
;extension=php_mysqli.dll
安装完mysql,再重新enable这个配置就好了,估计是依赖某些mysql的库。 ......

mysql 索引机制

Chapter 4. Indexes
索引有助于MySQL在浩如烟海的数据中迅速找到和取得正确的记录。
4.1 Indexing Basics
4.1.1 Index Concepts
索引是按照某种规则排序的。索引也就是牺牲一些空间和cpu的开销来使你的查询跑得更快点。另外提醒的是,对于MySQL来讲,术语“Key”和“Index”是可以互相替换的。
4. ......

解释分析MySQL数据类型

 
数据库存储中的数据类型与大小各异。有些地方只存储数字类型,有些只存储文本类型,有些二者而兼之。而很多数据库支持各种专用类型:日期和时间类型,二进制字符类型以及布尔类型。选择数据类型与数据相匹配是数据库设计中最为重要的部分,因为这种类型将会影响到RDBMS的效率与性能。所以,对RDBMS的数据类型选择应 ......

mysql复制(Replication)模式 主从(Master Slave)模式

主从模式的特性就是一台服务器作为主服务器,其余服务器作为从服务器,主服务器接收增删改查的操作,从服务器只能接收查的操作。
主服务器将数据更新至从服务器是异步的,异步的优点是可以在服务器空闲期间进行同步,而不必占用紧缺的资源,缺点就是从服务器的数据很可能不是最新的。
只能应用于对数据同步要求不高的场合 ......

MySQL partition分区I

一、        分区的概念
二、        为什么使用分区?(优点)
三、        分区类型
四、        子分区
五、        对分区进行修改(增加、删除、分解、 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号