<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: MySQL &#8211; getting two items per source in a single query</title>
	<atom:link href="http://www.tohir.co.za/2010/02/04/mysql-getting-two-items-per-source-in-a-single-query/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tohir.co.za/2010/02/04/mysql-getting-two-items-per-source-in-a-single-query/</link>
	<description></description>
	<lastBuildDate>Sun, 17 Apr 2011 18:16:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.1</generator>
	<item>
		<title>By: jonmcrawford</title>
		<link>http://www.tohir.co.za/2010/02/04/mysql-getting-two-items-per-source-in-a-single-query/comment-page-1/#comment-373</link>
		<dc:creator>jonmcrawford</dc:creator>
		<pubDate>Thu, 04 Feb 2010 22:19:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.tohir.co.za/?p=366#comment-373</guid>
		<description>You&#039;ll want to do a correlated subquery like so:

&lt;code&gt;
DROP TABLE #stories
CREATE TABLE #stories (id int, source varchar(7),title varchar(8),storydate datetime)
INSERT INTO #stories VALUES (10,&#039;cnn&#039;,&#039;Story 10&#039;,&#039;1/21/2010&#039;)
INSERT INTO #stories VALUES (9,&#039;bbcnews&#039;,&#039;Story 9&#039;,&#039;1/20/2010&#039;)
INSERT INTO #stories VALUES (8,&#039;bbcnews&#039;,&#039;Story 8&#039;,&#039;1/19/2010&#039;)
INSERT INTO #stories VALUES (7,&#039;skynews&#039;,&#039;Story 7&#039;,&#039;1/18/2010&#039;)
INSERT INTO #stories VALUES (6,&#039;cnn&#039;,&#039;Story 6&#039;,&#039;1/17/2010&#039;)
INSERT INTO #stories VALUES (5,&#039;bbcnews&#039;,&#039;Story 5&#039;,&#039;1/16/2010&#039;)
INSERT INTO #stories VALUES (4,&#039;cnn&#039;,&#039;Story 4&#039;,&#039;1/15/2010&#039;)
INSERT INTO #stories VALUES (3,&#039;skynews&#039;,&#039;Story 3&#039;,&#039;1/14/2010&#039;)
INSERT INTO #stories VALUES (2,&#039;skynews&#039;,&#039;Story 2&#039;,&#039;1/13/2010&#039;)
INSERT INTO #stories VALUES (1,&#039;cnn&#039;,&#039;Story 1&#039;,&#039;1/12/2010&#039;)


SELECT DISTINCT 
     s.source,
     s.title,
     s.storydate
FROM #stories s
ORDER BY source, storydate desc

SELECT DISTINCT 
     s.source,
     s.title,
     s.storydate
FROM #stories s
WHERE s.storydate IN (SELECT TOP 2 s2.storydate FROM #stories s2 WHERE s2.source=s.source)
ORDER BY source, storydate desc
&lt;/code&gt;

reference found here &lt;a href=&quot;http://dev.mysql.com/doc/refman/5.1/en/correlated-subqueries.html&quot; rel=&quot;nofollow&quot;&gt;http://dev.mysql.com/doc/refman/5.1/en/correlated-subqueries.html&lt;/a&gt;

Note that we&#039;re using WHERE IN (subquery) because we want to return more than one date on the inner resultset. 

Hope that helps!

Jon Crawford</description>
		<content:encoded><![CDATA[<p>You&#8217;ll want to do a correlated subquery like so:</p>
<p><code><br />
DROP TABLE #stories<br />
CREATE TABLE #stories (id int, source varchar(7),title varchar(8),storydate datetime)<br />
INSERT INTO #stories VALUES (10,'cnn','Story 10','1/21/2010')<br />
INSERT INTO #stories VALUES (9,'bbcnews','Story 9','1/20/2010')<br />
INSERT INTO #stories VALUES (8,'bbcnews','Story 8','1/19/2010')<br />
INSERT INTO #stories VALUES (7,'skynews','Story 7','1/18/2010')<br />
INSERT INTO #stories VALUES (6,'cnn','Story 6','1/17/2010')<br />
INSERT INTO #stories VALUES (5,'bbcnews','Story 5','1/16/2010')<br />
INSERT INTO #stories VALUES (4,'cnn','Story 4','1/15/2010')<br />
INSERT INTO #stories VALUES (3,'skynews','Story 3','1/14/2010')<br />
INSERT INTO #stories VALUES (2,'skynews','Story 2','1/13/2010')<br />
INSERT INTO #stories VALUES (1,'cnn','Story 1','1/12/2010')</p>
<p>SELECT DISTINCT<br />
     s.source,<br />
     s.title,<br />
     s.storydate<br />
FROM #stories s<br />
ORDER BY source, storydate desc</p>
<p>SELECT DISTINCT<br />
     s.source,<br />
     s.title,<br />
     s.storydate<br />
FROM #stories s<br />
WHERE s.storydate IN (SELECT TOP 2 s2.storydate FROM #stories s2 WHERE s2.source=s.source)<br />
ORDER BY source, storydate desc<br />
</code></p>
<p>reference found here <a href="http://dev.mysql.com/doc/refman/5.1/en/correlated-subqueries.html" rel="nofollow">http://dev.mysql.com/doc/refman/5.1/en/correlated-subqueries.html</a></p>
<p>Note that we&#8217;re using WHERE IN (subquery) because we want to return more than one date on the inner resultset. </p>
<p>Hope that helps!</p>
<p>Jon Crawford</p>
]]></content:encoded>
	</item>
</channel>
</rss>

