<?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>Sql &#8211; REONTOSANTA</title>
	<atom:link href="https://knowledge.reontosanta.com/archives/category/database/sql/feed" rel="self" type="application/rss+xml" />
	<link>https://knowledge.reontosanta.com</link>
	<description>Collection of personal knowledge</description>
	<lastBuildDate>Mon, 17 Oct 2016 23:59:09 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<atom:link rel='hub' href='https://knowledge.reontosanta.com/?pushpress=hub'/>
<site xmlns="com-wordpress:feed-additions:1">83369280</site>	<item>
		<title>重複データからMAX値を条件にレコードを取得する</title>
		<link>https://knowledge.reontosanta.com/archives/921</link>
					<comments>https://knowledge.reontosanta.com/archives/921#respond</comments>
		
		<dc:creator><![CDATA[mogice]]></dc:creator>
		<pubDate>Mon, 17 Oct 2016 23:59:09 +0000</pubDate>
				<category><![CDATA[Sql]]></category>
		<guid isPermaLink="false">http://knowledge.reontosanta.com/?p=921</guid>

					<description><![CDATA[以下のようなデータからcode_1毎にyear_monthが最大(最&#46;&#46;&#46;]]></description>
										<content:encoded><![CDATA[<p>以下のようなデータからcode_1毎にyear_monthが最大(最新)のレコードを取得する。</p>
<p>
<table id="tablepress-24" class="tablepress tablepress-id-24">
<thead>
<tr class="row-1">
	<th class="column-1">code_1</th><th class="column-2">code_2</th><th class="column-3">year_month</th><th class="column-4">value</th>
</tr>
</thead>
<tbody class="row-striping row-hover">
<tr class="row-2">
	<td class="column-1">A</td><td class="column-2">10001</td><td class="column-3">201511</td><td class="column-4">100</td>
</tr>
<tr class="row-3">
	<td class="column-1">A</td><td class="column-2">10002</td><td class="column-3">201512</td><td class="column-4">200</td>
</tr>
<tr class="row-4">
	<td class="column-1">B</td><td class="column-2">20001</td><td class="column-3">201509</td><td class="column-4">300</td>
</tr>
<tr class="row-5">
	<td class="column-1">B</td><td class="column-2">20002</td><td class="column-3">201510</td><td class="column-4">400</td>
</tr>
</tbody>
</table>
<!-- #tablepress-24 from cache --></p><pre class="urvanov-syntax-highlighter-plain-tag">SELECT
  t2.code_1
  , t2.code_2
  , t2.yaer_month
  , t2.value
FROM
  target_table t2
  INNER JOIN (
              SELECT
                code_1
                , MAX(year_month) AS year_month
              FROM
                target_table
              GROUP BY
                code_1
             ) t1
          ON t1.code_1 = t2.code_1
         AND t1.year_month = t2.year_month
ORDER BY
  t2.code_1
  , t2.code_2
  , t2.yaer_month</pre><p>&nbsp;</p>
<p>以下のようにcode_1、yaer_monthのみでは、重複レコードを排除できない状態でcode_2が最大のレコードを取得する。</p>
<p>
<table id="tablepress-25" class="tablepress tablepress-id-25">
<thead>
<tr class="row-1">
	<th class="column-1">code_1</th><th class="column-2">code_2</th><th class="column-3">year_month</th><th class="column-4">value</th>
</tr>
</thead>
<tbody class="row-striping row-hover">
<tr class="row-2">
	<td class="column-1">A</td><td class="column-2">10001</td><td class="column-3">201511</td><td class="column-4">100</td>
</tr>
<tr class="row-3">
	<td class="column-1">A</td><td class="column-2">10002</td><td class="column-3">201512</td><td class="column-4">200</td>
</tr>
<tr class="row-4">
	<td class="column-1">A</td><td class="column-2">10003</td><td class="column-3">201512</td><td class="column-4">300</td>
</tr>
</tbody>
</table>
<!-- #tablepress-25 from cache --></p><pre class="urvanov-syntax-highlighter-plain-tag">SELECT
  t4.code_1
  , t4.code_2
  , t4.yaer_month
  , t4.value
FROM
  target_table t4
  INNER JOIN (
              SELECT
                t2.code_1
                , t2.yaer_month
                , MAX(t2.code_2) AS code_2
              FROM
                target_table t2
                INNER JOIN (
                            SELECT
                              code_1
                              , MAX(year_month) AS year_month
                            FROM
                              target_table
                            GROUP BY
                              code_1
                           ) t1
                        ON t1.code_1 = t2.code_1
                       AND t1.year_month = t2.year_month
              GROUP BY
                t2.code_1
                , t2.yaer_month
             ) t3
          ON t3.code_1 = t4.code_1
         AND t3.yaer_month = t4.yaer_month
         AND t3.code_2 = t4. code_2
ORDER BY
  t4.code_1
  , t4.code_2
  , t4.yaer_month</pre><p>&nbsp;</p>
<p>&nbsp;</p>
<div class="knowl-after-content-ad" style="margin-top: 40px;" id="knowl-2938954944"><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8913642688016174" crossorigin="anonymous"></script><ins class="adsbygoogle" style="display:block;" data-ad-client="ca-pub-8913642688016174" 
data-ad-slot="2719999442" 
data-ad-format="auto"></ins>
<script> 
(adsbygoogle = window.adsbygoogle || []).push({}); 
</script>
</div><div class="knowl-after-content-relation" id="knowl-326528926"><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8913642688016174" crossorigin="anonymous"></script><ins class="adsbygoogle" style="display:block;" data-ad-client="ca-pub-8913642688016174" 
data-ad-slot="7848218644" 
data-ad-format="autorelaxed"></ins>
<script> 
(adsbygoogle = window.adsbygoogle || []).push({}); 
</script>
</div>]]></content:encoded>
					
					<wfw:commentRss>https://knowledge.reontosanta.com/archives/921/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">921</post-id>	</item>
	</channel>
</rss>
