<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[MYSQL中GROUP_CONCAT函数妙用]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[数据库技术]]></category>
<pubDate>Sat, 18 Aug 2012 01:33:56 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	点评：Mysql的；group_concat这个函数在PHP和Mysql结合的优化上可能在某些时候能够派上用场，如下：<br/>Group_Concat 是 MySQL 中用户Group By 的一个函数，函数语法如下:<br/><textarea name="code" class="php" rows="15" cols="100">
GROUP_CONCAT([DISTINCT] expr [,expr …]
&nbsp;&nbsp;&nbsp;&nbsp;[ORDER BY &#123;unsigned_integer &#124; col_name &#124; formula&#125; [ASC &#124; DESC] [,col …]]
&nbsp;&nbsp;&nbsp;&nbsp;[SEPARATOR str_val])
</textarea><br/>这个函数在 MySQL 4.1 中被加入。函数返回一个字符串结果，该结果由分组中的值连接组合而成。<br/>充分利用此函数，可以简化我们程序中的一些写法。<br/>比如我们现在有一个学生成绩表，为了方便不同班级科目的设置，对学生的成绩没有采用一条记录多个字段的方式，而是采用多条记录一个成绩字段方式存储。<br/><textarea name="code" class="php" rows="15" cols="100">
CREATE TABLE stu_grade(
&nbsp;&nbsp;&nbsp;&nbsp;`id` smallint(5) UNSIGNED NOT NULL DEFAULT &#039;0&#039;,
&nbsp;&nbsp;&nbsp;&nbsp;stuname varchar(20), #学生姓名
&nbsp;&nbsp;&nbsp;&nbsp;course&nbsp;&nbsp; varchar(20), #科目名称
&nbsp;&nbsp;&nbsp;&nbsp;score&nbsp;&nbsp;&nbsp;&nbsp;int, #本科目成绩
&nbsp;&nbsp;&nbsp;&nbsp;KEY `id` (`id`)
&nbsp;&nbsp;) TYPE=MyISAM;
</textarea><br/><br/>现在要求获得一个班级中学生各科成绩列表。<br/>通过Group_Concat 函数，我们只要简单执行如下的SQL语句，<br/><textarea name="code" class="php" rows="15" cols="100">
 SELECT `stuname`,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GROUP_CONCAT(concat(`course`, &#039;:&#039;, score)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ORDER BY `course` DESC SEPARATOR &quot;,&quot;) AS Result
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FROM `stu_grade`
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GROUP BY `stuname`;
</textarea><br/><br/>然后在程序中通过一个循环，将选出的结果输出来就可以了。如果不使用，我们通常需要将选出来的数据做再次整理，(多增加一些变量做一些循环判断，没有采用Group_Concat后的逻辑简单)<br/><br/>来自：http://www.sunnyu.com/?p=160
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] MYSQL中GROUP_CONCAT函数妙用]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>