<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mikael Brevik &#187; limit</title>
	<atom:link href="http://mikaelb.net/emneord/limit/feed/" rel="self" type="application/rss+xml" />
	<link>http://mikaelb.net</link>
	<description>Bloggen</description>
	<lastBuildDate>Mon, 07 Sep 2009 20:11:35 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>GROUP_CONCAT() med LIMIT</title>
		<link>http://mikaelb.net/2008/12/group_concat-med-limit/</link>
		<comments>http://mikaelb.net/2008/12/group_concat-med-limit/#comments</comments>
		<pubDate>Thu, 04 Dec 2008 17:04:01 +0000</pubDate>
		<dc:creator>Mikael Brevik</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[group_concat()]]></category>
		<category><![CDATA[limit]]></category>

		<guid isPermaLink="false">http://mikaelb.net/blogg/?p=19</guid>
		<description><![CDATA[For litt siden kom noen til meg over MSN og lurte på hvordan de kunne bruke GROUP_CONCAT() men bare implodere de 3 nyeste (høyest ID). Og dette ville han da gjøre uten noen loop som helst. Jeg sier til han at han burde bruke PHPs implode()-funksjon, men det ville han visst ikke. MySQL skal vel [...]]]></description>
			<content:encoded><![CDATA[<p>For litt siden kom noen til meg over MSN og lurte på hvordan de kunne bruke GROUP_CONCAT() men bare implodere de 3 nyeste (høyest ID). Og dette ville han da gjøre uten noen loop som helst. Jeg sier til han at han burde bruke <a href="http://no.php.net/implode">PHPs implode()</a>-funksjon, men det ville han visst ikke. MySQL skal vel egentlig ikke brukes til å manipulere date, men heller til å håndtere/deligere/lagre innhold (data).</p>
<p>Uansett tenkte jeg at løsningen måtte være å bruke en subquery, hvor man sjekket at id var i id-ene som ble plukket ut av subqueriet. Nyere versjoner støtter ikke å bruke IN/ALL/ANY/SOME til subqueries i WHERE-clause, så da er løsningen ganske selvsigende.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
</pre></td><td class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #990099; font-weight: bold;">SELECT</span>
   <span style="color: #000099;">GROUP_CONCAT</span><span style="color: #FF00FF;">&#40;</span>
      a.id
      <span style="color: #990099; font-weight: bold;">ORDER BY</span> a.id <span style="color: #990099; font-weight: bold;">DESC</span>
      SEPARATOR <span style="color: #008000;">', '</span>
   <span style="color: #FF00FF;">&#41;</span> <span style="color: #990099; font-weight: bold;">as</span> imploded_idfield
<span style="color: #990099; font-weight: bold;">FROM</span> myField a
<span style="color: #990099; font-weight: bold;">INNER</span> <span style="color: #990099; font-weight: bold;">JOIN</span>
   <span style="color: #FF00FF;">&#40;</span>
      <span style="color: #990099; font-weight: bold;">SELECT</span> id
      <span style="color: #990099; font-weight: bold;">FROM</span> myField
      <span style="color: #990099; font-weight: bold;">ORDER BY</span> id <span style="color: #990099; font-weight: bold;">DESC</span>
      <span style="color: #808080; font-style: italic;">-- [WHERE ... ]</span>
      <span style="color: #990099; font-weight: bold;">LIMIT</span> <span style="color: #008080;">3</span>
   <span style="color: #FF00FF;">&#41;</span> b
<span style="color: #990099; font-weight: bold;">ON</span> a.id <span style="color: #CC0099;">=</span> b.id</pre></td></tr></table></div>

<p>Da har vi alle de imploderte verdiene i <code>imploded_idfield</code>, og kan se ut noe som</p>
<blockquote><p>&#8220;300, 299, 298&#8243;</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://mikaelb.net/2008/12/group_concat-med-limit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
