{"id":6230,"date":"2013-12-17T06:47:54","date_gmt":"2013-12-17T14:47:54","guid":{"rendered":"http:\/\/www.seedcode.com\/?p=6230"},"modified":"2013-12-17T06:47:54","modified_gmt":"2013-12-17T14:47:54","slug":"filemaker-13-sql","status":"publish","type":"post","link":"https:\/\/seedcode.com\/filemaker-13-sql\/","title":{"rendered":"Best Of FileMaker 13 SQL: New Clauses for ExecuteSQL"},"content":{"rendered":"<p>One of the less obvious, but exciting new features in FileMaker 13 is the two new clauses available in FileMaker\u2019s SQL syntax.\u00a0 It\u2019s less obvious, because you need to read the new FileMaker SQL Reference Guide to see they\u2019ve been added.<\/p>\n<p style=\"padding-left: 30px;\">(Here is the <a href=\"https:\/\/fmhelp.filemaker.com\/docs\/13\/en\/fm13_sql_reference.pdf\">FileMaker 13 SQL Reference<\/a>. All FM13 docs are <a href=\"http:\/\/www.filemaker.com\/products\/filemaker-server\/resources.html\">here<\/a>.)<\/p>\n<p>The new clauses are\u00a0<strong>OFFSET<\/strong>\u00a0and\u00a0<strong>FETCH FIRST<\/strong>.\u00a0 We\u2019ve been asking for these functions in the FMSQL engine since the plug-in days, and they\u2019re finally here.\u00a0 They give you the ability to slice your results up in different ways right within the query, as well as improve performance in certain situations.<\/p>\n<p><!--more--><\/p>\n<h2>OFFSET n [ ROW | ROWS ]<\/h2>\n<p style=\"padding-left: 30px;\">Offset is simple.\u00a0 It allows you to skip a designated number of rows and display your results from there.\u00a0 Consider the query:<\/p>\n<p style=\"padding-left: 30px;\"><strong>SELECT<\/strong>\u00a0&#8220;CompanyName&#8221;<br \/>\n<strong>FROM<\/strong>\u00a0&#8220;Companies&#8221;<\/p>\n<p style=\"padding-left: 30px;\">with the results:<\/p>\n<pre style=\"padding-left: 30px;\">Anderson Co.\nBullet Co.H\nHemmley Inc.\nBongo Co. (Smith, Jim)\nJameson, Inc.\nBethson, Dale\u00a0\nJames, Maggie\nFirestat Co.\nMarteson Environmental\nRankle Industries\nAranato, Shuji\nMitle, Todd\nJermaine, Dwight\nHenn, Barbara\nHellern, David\nRoberts, Robert<\/pre>\n<p style=\"padding-left: 30px;\">by applying the OFFSET clause we can designate an \u201cartificial\u201d starting point:<\/p>\n<p style=\"padding-left: 30px;\"><strong>SELECT<\/strong>\u00a0&#8220;CompanyName&#8221;<br \/>\n<strong>FROM<\/strong>\u00a0&#8220;Companies&#8221;<br \/>\n<strong>OFFSET<\/strong>\u00a08\u00a0<strong>ROWS<\/strong><\/p>\n<p style=\"padding-left: 30px;\">now returns:<\/p>\n<pre style=\"padding-left: 30px;\">Marteson Environmental\nRankle Industries\nAranato, Shuji\nMitle, Todd\nJermaine, Dwight\nHenn, Barbara\nHellern, David\nRoberts, Robert<\/pre>\n<p style=\"padding-left: 30px;\">There\u2019s no difference between ROW and ROWS as far as the query goes, it just gives you the ability to write your query and apply some english grammar.\u00a0 For example:<\/p>\n<p style=\"padding-left: 30px;\"><strong>SELECT<\/strong>\u00a0&#8220;CompanyName&#8221;<br \/>\n<strong>FROM<\/strong>\u00a0&#8220;Companies&#8221;<br \/>\n<strong>OFFSET<\/strong>\u00a08\u00a0<strong>ROW<\/strong><\/p>\n<p style=\"padding-left: 30px;\">and<\/p>\n<p style=\"padding-left: 30px;\"><strong>SELECT<\/strong>\u00a0&#8220;CompanyName&#8221;<br \/>\n<strong>FROM<\/strong>\u00a0&#8220;Companies&#8221;<br \/>\n<strong>OFFSET<\/strong>\u00a01\u00a0<strong>ROWS<\/strong><\/p>\n<p style=\"padding-left: 30px;\">won\u2019t throw an error, they just look kinda\u2019 funny.<\/p>\n<h2>FETCH FIRST [ n [ PERCENT ]\u00a0 { ROWS | ROW } { ONLY | WITH TIES } ]<\/h2>\n<p style=\"padding-left: 30px;\">Fetch First is conceptually simple, in that we use is to limit the number of results in our query.\u00a0 However, it\u2019s arguments are a just bit more complicated.<\/p>\n<p style=\"padding-left: 30px;\">The simplest form of the clause would be literally designating the number of rows like this:<\/p>\n<p style=\"padding-left: 30px;\"><strong>SELECT<\/strong>\u00a0&#8220;CompanyName&#8221;<br \/>\n<strong>FROM<\/strong>\u00a0&#8220;Companies&#8221;<br \/>\n<strong>FETCH FIRST<\/strong>\u00a05\u00a0<strong>ROWS ONLY<\/strong><\/p>\n<p style=\"padding-left: 30px;\">based on our previous results we\u2019d now get:<\/p>\n<pre style=\"padding-left: 30px;\">Anderson Co.\nBullet Co.\nHemmley Inc.\nBongo Co. (Smith, Jim)\nJameson, Inc.<\/pre>\n<h2>Performance Considerations<\/h2>\n<p style=\"padding-left: 30px;\">Loading the results of a completed query into an expression&#8217;s results has some noticeable overhead, so if they&#8217;re not all needed, then using FETCH FIRST to limit them can help speed things up considerably. \u00a0A typical use for this would be to see if there&#8217;s any records that exist in a table that match the criteria. \u00a0We don&#8217;t care how many, or what they are, just if there&#8217;s anything there. \u00a0One way we could do this is use a Count like this:<\/p>\n<p style=\"padding-left: 30px;\"><strong>SELECT COUNT (\u00a0<\/strong>id<strong>\u00a0)<\/strong><br \/>\n<strong>FROM<\/strong>\u00a0&#8220;Companies&#8221;<br \/>\n<b>WHERE &#8220;<\/b>CompanyName<b>&#8221; LIKE\u00a0<\/b>?<strong><\/strong><\/p>\n<p style=\"padding-left: 30px;\">This works, but doesn&#8217;t perform that well. \u00a0On 100,000 records it takes about 14 seconds to run on my LAN set up. \u00a0We can try it without the count like this:<\/p>\n<p style=\"padding-left: 30px;\"><strong>SELECT\u00a0<\/strong>id<strong>\u00a0<\/strong><br \/>\n<strong>FROM<\/strong>\u00a0&#8220;Companies&#8221;<br \/>\n<b>WHERE &#8220;<\/b>CompanyName<b>&#8221; LIKE\u00a0<\/b>?<\/p>\n<p style=\"padding-left: 30px;\">That does much better, taking about 3 seconds. \u00a0We do need then to wrap our results in IsEmpty() to get a boolean result if anything is there, but we know how to do that. \u00a0However, if we add a FETCH FIRST clause like this:<\/p>\n<p style=\"padding-left: 30px;\"><strong>SELECT\u00a0<\/strong>id<strong>\u00a0<\/strong><br \/>\n<strong>FROM<\/strong>\u00a0&#8220;Companies&#8221;<br \/>\n<b>WHERE &#8220;<\/b>CompanyName<b>&#8221; LIKE\u00a0<\/b>?<br \/>\n<strong>FETCH FIRST ROW ONLY<\/strong><\/p>\n<p style=\"padding-left: 30px;\">It&#8217;s virtually instant. \u00a0Also, notice how we left out the n argument designating the number of rows. \u00a0This argument is optional, and when left unspecified, it will default to 1. \u00a0We can also get a little fancier here and set our query up to return the boolean result we&#8217;re after like this:<\/p>\n<p style=\"padding-left: 30px;\"><strong>SELECT CASE WHEN\u00a0<\/strong>id<strong>\u00a0IS NOT NULL THEN\u00a0<\/strong>1<strong>\u00a0END<\/strong><br \/>\n<strong>FROM<\/strong>\u00a0&#8220;Companies&#8221;<br \/>\n<b>WHERE &#8220;<\/b>CompanyName<b>&#8221; LIKE\u00a0<\/b>?<br \/>\n<strong>FETCH FIRST ROW ONLY<\/strong><\/p>\n<h2>ONLY vs WITH TIES<\/h2>\n<p style=\"padding-left: 30px;\">You must always designate either ONLY or WITH TIES when using FETCH FIRST or your query will generate an error.\u00a0 ONLY puts a hard limit on the number of rows returned.\u00a0 WITH TIES is used with the ORDER BY Clause and will allow the inclusion of additional results if they\u2019re not distinct from ones included in the specified FETCH FIRST n argument.<\/p>\n<p style=\"padding-left: 30px;\">Suppose we had duplicates in our original results, and we modified our original query to look like this with the ORDER BY clause added.<\/p>\n<p style=\"padding-left: 30px;\"><strong>SELECT<\/strong>\u00a0&#8220;CompanyName&#8221;<br \/>\n<strong>FROM<\/strong>\u00a0&#8220;Companies&#8221;<br \/>\n<strong>ORDER BY<\/strong>\u00a0&#8220;CompanyName&#8221;\u00a0<strong>ASC<\/strong><\/p>\n<p style=\"padding-left: 30px;\">we\u2019d now get:<\/p>\n<pre style=\"padding-left: 30px;\">Anderson Co.\nAnderson Co.\nAranato, Shuji\nBethson, Dale\u00a0\nBongo Co. (Smith, Jim)\nBongo Co. (Smith, Jim)\nBullet Co.\nBullet Co.\nFirestat Co.\nHellern, David\nHemmley Inc.\nHemmley Inc.\nHenn, Barbara\nJames, Maggie\nJameson, Inc.\nJermaine, Dwight\nMarteson Environmental\nMitle, Todd\nRankle Industries\nRoberts, Robert<\/pre>\n<p style=\"padding-left: 30px;\">If we apply FETCH FIRST with ONLY like this:<\/p>\n<p style=\"padding-left: 30px;\"><strong>SELECT<\/strong>\u00a0&#8220;CompanyName&#8221;<br \/>\n<strong>FROM<\/strong>\u00a0&#8220;Companies&#8221;<br \/>\n<strong>ORDER BY<\/strong>\u00a0&#8220;CompanyName&#8221;<br \/>\n<strong>FETCH FIRST<\/strong>\u00a05\u00a0<strong>ROWS ONLY<\/strong><\/p>\n<p style=\"padding-left: 30px;\">we do just get the 5 rows like this:<\/p>\n<pre style=\"padding-left: 30px;\">Anderson Co.\nAnderson Co.\nAranato, Shuji\nBethson, Dale\u00a0\nBongo Co. (Smith, Jim)<\/pre>\n<p style=\"padding-left: 30px;\">However, if we run the same query with WITH TIES like this:<\/p>\n<p style=\"padding-left: 30px;\"><strong>SELECT<\/strong>\u00a0&#8220;CompanyName&#8221;<br \/>\n<strong>FROM<\/strong>\u00a0&#8220;Companies&#8221;<br \/>\n<strong>ORDER BY<\/strong>\u00a0&#8220;CompanyName&#8221;<br \/>\n<strong>FETCH FIRST<\/strong>\u00a05\u00a0<strong>ROWS WITH TIES<\/strong><\/p>\n<p style=\"padding-left: 30px;\">we get:<\/p>\n<pre style=\"padding-left: 30px;\">Anderson Co.\nAnderson Co.\nAranato, Shuji\nBethson, Dale\u00a0\nBongo Co. (Smith, Jim)\nBongo Co. (Smith, Jim)<\/pre>\n<p style=\"padding-left: 30px;\">Notice the 6th line!\u00a0 We get that because it\u2019s not distinct from the line above it that\u2019s within the 5 count designated.\u00a0 The WITH TIES argument can only be used when the Query has an ORDER BY clause, otherwise you\u2019ll get an error. \u00a0Notice also, that in both cases, the FETCH FIRST is applied after the ORDER BY clause.<\/p>\n<h2>PERCENT<\/h2>\n<p style=\"padding-left: 30px;\">We can also designate a percentage, rather than a specific row count.<\/p>\n<p style=\"padding-left: 30px;\"><strong>SELECT<\/strong>\u00a0&#8220;CompanyName&#8221;<br \/>\n<strong>FROM<\/strong>\u00a0&#8220;Companies&#8221;<br \/>\n<strong>FETCH FIRST<\/strong>\u00a015\u00a0<strong>PERCENT ROWS ONLY<\/strong><\/p>\n<p style=\"padding-left: 30px;\">will return:<\/p>\n<pre style=\"padding-left: 30px;\">Anderson Co.\nBullet Co.\nHemmley Inc.<\/pre>\n<p style=\"padding-left: 30px;\">WITH TIES is also compatible with PERCENT, but remember you need the ORDER BY Clause as well:<\/p>\n<p style=\"padding-left: 30px;\"><strong>SELECT<\/strong>\u00a0&#8220;CompanyName&#8221;<br \/>\n<strong>FROM<\/strong>\u00a0&#8220;Companies&#8221;<br \/>\n<strong>ORDER BY<\/strong>\u00a0&#8220;CompanyName&#8221;\u00a0<strong>ASC<\/strong><br \/>\n<strong>FETCH FIRST<\/strong>\u00a015\u00a0<strong>PERCENT ROWS WITH TIES<\/strong><\/p>\n<p style=\"padding-left: 30px;\">will return:<\/p>\n<pre style=\"padding-left: 30px;\">Anderson Co.\nAnderson Co.\nAranato, Shuji<\/pre>\n<h2>OFFSET and FETCH FIRST TOGETHER<\/h2>\n<figure id=\"attachment_6319\" aria-describedby=\"caption-attachment-6319\" style=\"width: 300px\" class=\"wp-caption alignright\"><a href=\"\/filemaker-sql-explorer\/\"><img fetchpriority=\"high\" decoding=\"async\" class=\"size-medium wp-image-6319\" alt=\"FileMaker 13 SQL Explorer\" src=\"http:\/\/www.seedcode.com\/wp-content\/uploads\/2013\/12\/SQLx-300x196.jpg\" width=\"300\" height=\"196\" \/><\/a><figcaption id=\"caption-attachment-6319\" class=\"wp-caption-text\">Need Help? Try SeedCodes FREE SQL Explorer<\/figcaption><\/figure>\n<p style=\"padding-left: 30px;\">These clauses also work great together to let you zero in on a specific slice of your results, so we can do something like this:<\/p>\n<p style=\"padding-left: 30px;\"><strong>SELECT<\/strong>\u00a0&#8220;CompanyName&#8221;<br \/>\n<strong>FROM<\/strong>\u00a0&#8220;Companies&#8221;<br \/>\n<strong>OFFSET<\/strong>\u00a03\u00a0<strong>ROWS<\/strong><br \/>\n<strong>FETCH FIRST<\/strong>\u00a015\u00a0<strong>PERCENT ROWS ONLY<\/strong><\/p>\n<p style=\"padding-left: 30px;\">which will return:<\/p>\n<pre style=\"padding-left: 30px;\">Bongo Co. (Smith, Jim)\nJameson, Inc.\nBethson, Dale<\/pre>\n<p style=\"padding-left: 30px;\">Returning 15 percent of the total rows, starting at row 4.<\/p>\n<p>Powerful stuff, so happy slicing!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>One of the less obvious, but exciting new features in FileMaker 13 is the two new clauses available in FileMaker\u2019s SQL syntax.\u00a0 It\u2019s less obvious, because you need to read the new FileMaker SQL Reference Guide to see they\u2019ve been added. (Here is the FileMaker 13 SQL Reference. All FM13 docs are here.) The new clauses are\u00a0OFFSET\u00a0and\u00a0FETCH FIRST.\u00a0 We\u2019ve been asking for these functions in the FMSQL engine since the plug-in days, and they\u2019re finally here.\u00a0 They give you the ability to slice your results up in different ways right within the query, as well as improve performance in certain situations.<\/p>\n","protected":false},"author":3,"featured_media":6321,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[7,18],"class_list":["post-6230","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-filemaker-13","tag-filemaker-sql"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Best of FileMaker 13 SQL- New Clauses for ExecuteSQL<\/title>\n<meta name=\"description\" content=\"The new clauses are OFFSET and FETCH FIRST. We\u2019ve been asking for these functions in the FileMaker 13 SQL engine since the plug-in days\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/seedcode.com\/filemaker-13-sql\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Best of FileMaker 13 SQL- New Clauses for ExecuteSQL\" \/>\n<meta property=\"og:description\" content=\"The new clauses are OFFSET and FETCH FIRST. We\u2019ve been asking for these functions in the FileMaker 13 SQL engine since the plug-in days\" \/>\n<meta property=\"og:url\" content=\"https:\/\/seedcode.com\/filemaker-13-sql\/\" \/>\n<meta property=\"og:site_name\" content=\"SeedCode\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/seedcoder\" \/>\n<meta property=\"article:published_time\" content=\"2013-12-17T14:47:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/seedcode.com\/wp-content\/uploads\/2013\/12\/filemaker_sql.png\" \/>\n\t<meta property=\"og:image:width\" content=\"109\" \/>\n\t<meta property=\"og:image:height\" content=\"110\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"jasonchryoung\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@dayback\" \/>\n<meta name=\"twitter:site\" content=\"@dayback\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"jasonchryoung\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/seedcode.com\/filemaker-13-sql\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/seedcode.com\/filemaker-13-sql\/\"},\"author\":{\"name\":\"jasonchryoung\",\"@id\":\"https:\/\/seedcode.com\/#\/schema\/person\/21c8e63200786c642eb068377e428ebd\"},\"headline\":\"Best Of FileMaker 13 SQL: New Clauses for ExecuteSQL\",\"datePublished\":\"2013-12-17T14:47:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/seedcode.com\/filemaker-13-sql\/\"},\"wordCount\":899,\"commentCount\":7,\"publisher\":{\"@id\":\"https:\/\/seedcode.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/seedcode.com\/filemaker-13-sql\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/seedcode.com\/wp-content\/uploads\/2013\/12\/filemaker_sql.png\",\"keywords\":[\"FileMaker 13\",\"FileMaker SQL\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/seedcode.com\/filemaker-13-sql\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/seedcode.com\/filemaker-13-sql\/\",\"url\":\"https:\/\/seedcode.com\/filemaker-13-sql\/\",\"name\":\"Best of FileMaker 13 SQL- New Clauses for ExecuteSQL\",\"isPartOf\":{\"@id\":\"https:\/\/seedcode.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/seedcode.com\/filemaker-13-sql\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/seedcode.com\/filemaker-13-sql\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/seedcode.com\/wp-content\/uploads\/2013\/12\/filemaker_sql.png\",\"datePublished\":\"2013-12-17T14:47:54+00:00\",\"description\":\"The new clauses are OFFSET and FETCH FIRST. We\u2019ve been asking for these functions in the FileMaker 13 SQL engine since the plug-in days\",\"breadcrumb\":{\"@id\":\"https:\/\/seedcode.com\/filemaker-13-sql\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/seedcode.com\/filemaker-13-sql\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/seedcode.com\/filemaker-13-sql\/#primaryimage\",\"url\":\"https:\/\/seedcode.com\/wp-content\/uploads\/2013\/12\/filemaker_sql.png\",\"contentUrl\":\"https:\/\/seedcode.com\/wp-content\/uploads\/2013\/12\/filemaker_sql.png\",\"width\":109,\"height\":110},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/seedcode.com\/filemaker-13-sql\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/seedcode.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Best Of FileMaker 13 SQL: New Clauses for ExecuteSQL\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/seedcode.com\/#website\",\"url\":\"https:\/\/seedcode.com\/\",\"name\":\"SeedCode\",\"description\":\"Build the Software You&#039;ve Always Wanted\",\"publisher\":{\"@id\":\"https:\/\/seedcode.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/seedcode.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/seedcode.com\/#organization\",\"name\":\"SeedCode\",\"url\":\"https:\/\/seedcode.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/seedcode.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/seedcode.com\/wp-content\/uploads\/2022\/12\/SeedCodeLogo.png\",\"contentUrl\":\"https:\/\/seedcode.com\/wp-content\/uploads\/2022\/12\/SeedCodeLogo.png\",\"width\":595,\"height\":189,\"caption\":\"SeedCode\"},\"image\":{\"@id\":\"https:\/\/seedcode.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/seedcoder\",\"https:\/\/x.com\/dayback\",\"https:\/\/www.linkedin.com\/company\/seedcode\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/seedcode.com\/#\/schema\/person\/21c8e63200786c642eb068377e428ebd\",\"name\":\"jasonchryoung\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/seedcode.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g\",\"caption\":\"jasonchryoung\"},\"url\":\"https:\/\/seedcode.com\/author\/jasonchryoung\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Best of FileMaker 13 SQL- New Clauses for ExecuteSQL","description":"The new clauses are OFFSET and FETCH FIRST. We\u2019ve been asking for these functions in the FileMaker 13 SQL engine since the plug-in days","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/seedcode.com\/filemaker-13-sql\/","og_locale":"en_US","og_type":"article","og_title":"Best of FileMaker 13 SQL- New Clauses for ExecuteSQL","og_description":"The new clauses are OFFSET and FETCH FIRST. We\u2019ve been asking for these functions in the FileMaker 13 SQL engine since the plug-in days","og_url":"https:\/\/seedcode.com\/filemaker-13-sql\/","og_site_name":"SeedCode","article_publisher":"https:\/\/www.facebook.com\/seedcoder","article_published_time":"2013-12-17T14:47:54+00:00","og_image":[{"width":109,"height":110,"url":"https:\/\/seedcode.com\/wp-content\/uploads\/2013\/12\/filemaker_sql.png","type":"image\/png"}],"author":"jasonchryoung","twitter_card":"summary_large_image","twitter_creator":"@dayback","twitter_site":"@dayback","twitter_misc":{"Written by":"jasonchryoung","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/seedcode.com\/filemaker-13-sql\/#article","isPartOf":{"@id":"https:\/\/seedcode.com\/filemaker-13-sql\/"},"author":{"name":"jasonchryoung","@id":"https:\/\/seedcode.com\/#\/schema\/person\/21c8e63200786c642eb068377e428ebd"},"headline":"Best Of FileMaker 13 SQL: New Clauses for ExecuteSQL","datePublished":"2013-12-17T14:47:54+00:00","mainEntityOfPage":{"@id":"https:\/\/seedcode.com\/filemaker-13-sql\/"},"wordCount":899,"commentCount":7,"publisher":{"@id":"https:\/\/seedcode.com\/#organization"},"image":{"@id":"https:\/\/seedcode.com\/filemaker-13-sql\/#primaryimage"},"thumbnailUrl":"https:\/\/seedcode.com\/wp-content\/uploads\/2013\/12\/filemaker_sql.png","keywords":["FileMaker 13","FileMaker SQL"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/seedcode.com\/filemaker-13-sql\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/seedcode.com\/filemaker-13-sql\/","url":"https:\/\/seedcode.com\/filemaker-13-sql\/","name":"Best of FileMaker 13 SQL- New Clauses for ExecuteSQL","isPartOf":{"@id":"https:\/\/seedcode.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/seedcode.com\/filemaker-13-sql\/#primaryimage"},"image":{"@id":"https:\/\/seedcode.com\/filemaker-13-sql\/#primaryimage"},"thumbnailUrl":"https:\/\/seedcode.com\/wp-content\/uploads\/2013\/12\/filemaker_sql.png","datePublished":"2013-12-17T14:47:54+00:00","description":"The new clauses are OFFSET and FETCH FIRST. We\u2019ve been asking for these functions in the FileMaker 13 SQL engine since the plug-in days","breadcrumb":{"@id":"https:\/\/seedcode.com\/filemaker-13-sql\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/seedcode.com\/filemaker-13-sql\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/seedcode.com\/filemaker-13-sql\/#primaryimage","url":"https:\/\/seedcode.com\/wp-content\/uploads\/2013\/12\/filemaker_sql.png","contentUrl":"https:\/\/seedcode.com\/wp-content\/uploads\/2013\/12\/filemaker_sql.png","width":109,"height":110},{"@type":"BreadcrumbList","@id":"https:\/\/seedcode.com\/filemaker-13-sql\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/seedcode.com\/"},{"@type":"ListItem","position":2,"name":"Best Of FileMaker 13 SQL: New Clauses for ExecuteSQL"}]},{"@type":"WebSite","@id":"https:\/\/seedcode.com\/#website","url":"https:\/\/seedcode.com\/","name":"SeedCode","description":"Build the Software You&#039;ve Always Wanted","publisher":{"@id":"https:\/\/seedcode.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/seedcode.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/seedcode.com\/#organization","name":"SeedCode","url":"https:\/\/seedcode.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/seedcode.com\/#\/schema\/logo\/image\/","url":"https:\/\/seedcode.com\/wp-content\/uploads\/2022\/12\/SeedCodeLogo.png","contentUrl":"https:\/\/seedcode.com\/wp-content\/uploads\/2022\/12\/SeedCodeLogo.png","width":595,"height":189,"caption":"SeedCode"},"image":{"@id":"https:\/\/seedcode.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/seedcoder","https:\/\/x.com\/dayback","https:\/\/www.linkedin.com\/company\/seedcode\/"]},{"@type":"Person","@id":"https:\/\/seedcode.com\/#\/schema\/person\/21c8e63200786c642eb068377e428ebd","name":"jasonchryoung","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/seedcode.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g","caption":"jasonchryoung"},"url":"https:\/\/seedcode.com\/author\/jasonchryoung\/"}]}},"_links":{"self":[{"href":"https:\/\/seedcode.com\/wp-json\/wp\/v2\/posts\/6230","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/seedcode.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/seedcode.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/seedcode.com\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/seedcode.com\/wp-json\/wp\/v2\/comments?post=6230"}],"version-history":[{"count":0,"href":"https:\/\/seedcode.com\/wp-json\/wp\/v2\/posts\/6230\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/seedcode.com\/wp-json\/wp\/v2\/media\/6321"}],"wp:attachment":[{"href":"https:\/\/seedcode.com\/wp-json\/wp\/v2\/media?parent=6230"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/seedcode.com\/wp-json\/wp\/v2\/categories?post=6230"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/seedcode.com\/wp-json\/wp\/v2\/tags?post=6230"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}