<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: group by clause in SUBQUERIES in proc sql in New SAS User</title>
    <link>https://communities.sas.com/t5/New-SAS-User/group-by-clause-in-SUBQUERIES-in-proc-sql/m-p/685581#M24300</link>
    <description>&lt;P&gt;thankyou!&lt;/P&gt;</description>
    <pubDate>Tue, 22 Sep 2020 04:38:17 GMT</pubDate>
    <dc:creator>2ratika7</dc:creator>
    <dc:date>2020-09-22T04:38:17Z</dc:date>
    <item>
      <title>group by clause in SUBQUERIES in proc sql</title>
      <link>https://communities.sas.com/t5/New-SAS-User/group-by-clause-in-SUBQUERIES-in-proc-sql/m-p/685246#M24287</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table public_school as
select ID,time_period,score,class from data 
where ID = (select ID from data
		where time_period = (select max(time_period )from data))
group by class  
order by time_period 
;quit;&lt;/CODE&gt;&lt;/PRE&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;time_period&lt;/TD&gt;&lt;TD&gt;section&lt;/TD&gt;&lt;TD&gt;percentage&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;281&lt;/TD&gt;&lt;TD&gt;0.25&lt;/TD&gt;&lt;TD&gt;a_section&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;83&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;281&lt;/TD&gt;&lt;TD&gt;0.5&lt;/TD&gt;&lt;TD&gt;a_section&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;82&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;281&lt;/TD&gt;&lt;TD&gt;0.75&lt;/TD&gt;&lt;TD&gt;a_section&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;98&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;281&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;a_section&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;88&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;281&lt;/TD&gt;&lt;TD&gt;1.25&lt;/TD&gt;&lt;TD&gt;a_section&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;81&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;282&lt;/TD&gt;&lt;TD&gt;0.25&lt;/TD&gt;&lt;TD&gt;a_section&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;80&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;282&lt;/TD&gt;&lt;TD&gt;0.5&lt;/TD&gt;&lt;TD&gt;a_section&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;82&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;282&lt;/TD&gt;&lt;TD&gt;0.75&lt;/TD&gt;&lt;TD&gt;a_section&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;84&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;282&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;a_section&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;86&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;282&lt;/TD&gt;&lt;TD&gt;1.06&lt;/TD&gt;&lt;TD&gt;a_section&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;54&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;282&lt;/TD&gt;&lt;TD&gt;1.75&lt;/TD&gt;&lt;TD&gt;a_section&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;80&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;282&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;a_section&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;82&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;282&lt;/TD&gt;&lt;TD&gt;2.25&lt;/TD&gt;&lt;TD&gt;a_section&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;84&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;282&lt;/TD&gt;&lt;TD&gt;2.5&lt;/TD&gt;&lt;TD&gt;a_section&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;86&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;282&lt;/TD&gt;&lt;TD&gt;2.75&lt;/TD&gt;&lt;TD&gt;a_section&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;88&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;282&lt;/TD&gt;&lt;TD&gt;3.0&lt;/TD&gt;&lt;TD&gt;a_section&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;90&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;282&lt;/TD&gt;&lt;TD&gt;3.25&lt;/TD&gt;&lt;TD&gt;a_section&lt;/TD&gt;&lt;TD&gt;92&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;301&lt;/TD&gt;&lt;TD&gt;0.25&lt;/TD&gt;&lt;TD&gt;b_section&lt;/TD&gt;&lt;TD&gt;70&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;301&lt;/TD&gt;&lt;TD&gt;0.5&lt;/TD&gt;&lt;TD&gt;b_section&lt;/TD&gt;&lt;TD&gt;76&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;301&lt;/TD&gt;&lt;TD&gt;0.75&lt;/TD&gt;&lt;TD&gt;b_section&lt;/TD&gt;&lt;TD&gt;82&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;301&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;b_section&lt;/TD&gt;&lt;TD&gt;88&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;302&lt;/TD&gt;&lt;TD&gt;0.25&lt;/TD&gt;&lt;TD&gt;b_section&lt;/TD&gt;&lt;TD&gt;90&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;302&lt;/TD&gt;&lt;TD&gt;0.75&lt;/TD&gt;&lt;TD&gt;b_section&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;303&lt;/TD&gt;&lt;TD&gt;0.25&lt;/TD&gt;&lt;TD&gt;b_section&lt;/TD&gt;&lt;TD&gt;84&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;In Sample table shown above, I have different no. of students in each section(a,b,c,d) and school_type( public, private) and their final % obtained for each quarterly held exam. Objective is to select student ID with maximum number of time period from each section. Output table should should look like(including score also) :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;time_period&lt;/TD&gt;&lt;TD&gt;section&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;282&lt;/TD&gt;&lt;TD&gt;0.25&lt;/TD&gt;&lt;TD&gt;a_section&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;282&lt;/TD&gt;&lt;TD&gt;0.5&lt;/TD&gt;&lt;TD&gt;a_section&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;282&lt;/TD&gt;&lt;TD&gt;0.75&lt;/TD&gt;&lt;TD&gt;a_section&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;282&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;a_section&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;282&lt;/TD&gt;&lt;TD&gt;1.25&lt;/TD&gt;&lt;TD&gt;a_section&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;282&lt;/TD&gt;&lt;TD&gt;1.5&lt;/TD&gt;&lt;TD&gt;a_section&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;282&lt;/TD&gt;&lt;TD&gt;1.75&lt;/TD&gt;&lt;TD&gt;a_section&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;282&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;a_section&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;282&lt;/TD&gt;&lt;TD&gt;2.25&lt;/TD&gt;&lt;TD&gt;a_section&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;282&lt;/TD&gt;&lt;TD&gt;2.5&lt;/TD&gt;&lt;TD&gt;a_section&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;282&lt;/TD&gt;&lt;TD&gt;2.75&lt;/TD&gt;&lt;TD&gt;a_section&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;301&lt;/TD&gt;&lt;TD&gt;0.25&lt;/TD&gt;&lt;TD&gt;b_section&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;301&lt;/TD&gt;&lt;TD&gt;0.5&lt;/TD&gt;&lt;TD&gt;b_section&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;301&lt;/TD&gt;&lt;TD&gt;0.75&lt;/TD&gt;&lt;TD&gt;b_section&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;301&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;b_section&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;:&lt;/TD&gt;&lt;TD&gt;:&lt;/TD&gt;&lt;TD&gt;:&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have tried code displayed above , but getting error as:&lt;/P&gt;&lt;P&gt;A GROUP BY clause has been discarded because neither the SELECT clause nor the optional HAVING clause of the associated table-expression referenced a summary function&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Also, if u can tell how to create macro on this code for school type, it will be quite helpful&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 20 Sep 2020 07:19:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/group-by-clause-in-SUBQUERIES-in-proc-sql/m-p/685246#M24287</guid>
      <dc:creator>2ratika7</dc:creator>
      <dc:date>2020-09-20T07:19:18Z</dc:date>
    </item>
    <item>
      <title>Re: group by clause in SUBQUERIES in proc sql</title>
      <link>https://communities.sas.com/t5/New-SAS-User/group-by-clause-in-SUBQUERIES-in-proc-sql/m-p/685286#M24289</link>
      <description>&lt;P&gt;To get all the data from the "&lt;EM&gt;student ID with maximum number of time period from each section&lt;/EM&gt;" :&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table public_school as
select a.*
from 
	data as a inner join
	(select section, id, count(time_period) as total_period 
	 from data 
	 group by section, id) as b on a.section=b.section and a.id=b.id
group by a.section
having total_period = max(total_period)
;
quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;(untested)&lt;/P&gt;
&lt;P&gt;or maybe you'l want to replace count(time_period) with sum(time_period).&lt;/P&gt;</description>
      <pubDate>Sun, 20 Sep 2020 20:22:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/group-by-clause-in-SUBQUERIES-in-proc-sql/m-p/685286#M24289</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2020-09-20T20:22:32Z</dc:date>
    </item>
    <item>
      <title>Re: group by clause in SUBQUERIES in proc sql</title>
      <link>https://communities.sas.com/t5/New-SAS-User/group-by-clause-in-SUBQUERIES-in-proc-sql/m-p/685304#M24290</link>
      <description>&lt;P&gt;I have got this note: The query requires remerging summary statistics back with the original data &amp;amp; dataset created with 0 rows.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 21 Sep 2020 04:26:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/group-by-clause-in-SUBQUERIES-in-proc-sql/m-p/685304#M24290</guid>
      <dc:creator>2ratika7</dc:creator>
      <dc:date>2020-09-21T04:26:34Z</dc:date>
    </item>
    <item>
      <title>Re: group by clause in SUBQUERIES in proc sql</title>
      <link>https://communities.sas.com/t5/New-SAS-User/group-by-clause-in-SUBQUERIES-in-proc-sql/m-p/685490#M24297</link>
      <description>&lt;P&gt;The remerging message is intended and expected, it's just a feature of SAS/SQL. When I run this test, I get 16 rows into table Public_School:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input ID  time_period section $ percentage;
datalines;
281 0.25    a_section   83
281 0.5 a_section   82
281 0.75    a_section   98
281 1   a_section   88
281 1.25    a_section   81
282 0.25    a_section   80
282 0.5 a_section   82
282 0.75    a_section   84
282 1   a_section   86
282 1.06    a_section   54
282 1.75    a_section   80
282 2   a_section   82
282 2.25    a_section   84
282 2.5 a_section   86
282 2.75    a_section   88
282 3.0 a_section   90
282 3.25    a_section   92
301 0.25    b_section   70
301 0.5 b_section   76
301 0.75    b_section   82
301 1   b_section   88
302 0.25    b_section   90
302 0.75    b_section   100
303 0.25    b_section   84
;

proc sql;
create table public_school as
select a.*
from 
    have as a inner join
    (select section, id, count(time_period) as total_period 
     from have 
     group by section, id) as b on a.section=b.section and a.id=b.id
group by a.section
having total_period = max(total_period)
;
select * from public_school;
quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="image.png" style="width: 205px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/49616i5F53942566C46A67/image-size/large?v=v2&amp;amp;px=999" role="button" title="image.png" alt="image.png" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 21 Sep 2020 17:38:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/group-by-clause-in-SUBQUERIES-in-proc-sql/m-p/685490#M24297</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2020-09-21T17:38:38Z</dc:date>
    </item>
    <item>
      <title>Re: group by clause in SUBQUERIES in proc sql</title>
      <link>https://communities.sas.com/t5/New-SAS-User/group-by-clause-in-SUBQUERIES-in-proc-sql/m-p/685581#M24300</link>
      <description>&lt;P&gt;thankyou!&lt;/P&gt;</description>
      <pubDate>Tue, 22 Sep 2020 04:38:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/group-by-clause-in-SUBQUERIES-in-proc-sql/m-p/685581#M24300</guid>
      <dc:creator>2ratika7</dc:creator>
      <dc:date>2020-09-22T04:38:17Z</dc:date>
    </item>
  </channel>
</rss>

