{"id":7035,"date":"2023-05-24T00:00:00","date_gmt":"2023-05-24T04:00:00","guid":{"rendered":"https:\/\/www.sisense.com\/selecting-only-one-row-per-group\/"},"modified":"2024-09-23T15:24:31","modified_gmt":"2024-09-23T19:24:31","slug":"selecting-only-one-row-per-group","status":"publish","type":"post","link":"https:\/\/www.sisense.com\/blog\/selecting-only-one-row-per-group\/","title":{"rendered":"Selecting only one row per group"},"content":{"rendered":"<p><\/p>\r\n<h2 class=\"wp-block-heading\">Selecting the First Row for each Group<\/h2>\r\n<p>Sometimes you just want to graph the winners. Were there more iOS or Android users today? Grouping and counting the daily usage per platform is easy, but getting only the top platform for each day can be tough.<\/p>\r\n<p>Unlike joining only the first row, primary and foreign keys won\u2019t be of much use, so we\u2019ll need a different approach to make a chart like this:<\/p>\r\n<figure class=\"wp-block-image fancybox\"><img decoding=\"async\" class=\"wp-image-74152\" src=\"https:\/\/cdn.sisense.com\/wp-content\/uploads\/image-1-selecting-blog.png\" alt=\"Top platform by day chart\" \/><\/figure>\r\n<p>Let\u2019s start with daily counts per platform from our gameplays table:<\/p>\r\n<pre class=\"wp-block-code\"><code>select date(created_at) dt, platform, count(1) ct\r\nfrom gameplays\r\ngroup by 1, 2<\/code><\/pre>\r\n<p>This gives us a familiar table, with one date spanning multiple rows:<\/p>\r\n<div class=\"table-responsive\">\r\n<figure class=\"wp-block-table table table-bordered\">\r\n<table>\r\n<tbody>\r\n<tr>\r\n<td>dt<\/td>\r\n<td>platform<\/td>\r\n<td>ct<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>2014-06-30<\/td>\r\n<td>iOS<\/td>\r\n<td>49751<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>2014-06-30<\/td>\r\n<td>android<\/td>\r\n<td>80781<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>2014-06-29<\/td>\r\n<td>iOS<\/td>\r\n<td>158909<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>2014-06-29<\/td>\r\n<td>android<\/td>\r\n<td>91380<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>2014-06-28<\/td>\r\n<td>iOS<\/td>\r\n<td>108206<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>2014-06-28<\/td>\r\n<td>android<\/td>\r\n<td>95363<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>2014-06-27<\/td>\r\n<td>iOS<\/td>\r\n<td>105756<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>2014-06-27<\/td>\r\n<td>android<\/td>\r\n<td>92316<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<\/figure>\r\n<\/div>\r\n<p>We want a table with one row per date with the highest count, like this:<\/p>\r\n<div class=\"table-responsive\">\r\n<figure class=\"wp-block-table table table-bordered\">\r\n<table>\r\n<tbody>\r\n<tr>\r\n<td>dt<\/td>\r\n<td>platform<\/td>\r\n<td>ct<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>2014-06-30<\/td>\r\n<td>android<\/td>\r\n<td>80781<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>2014-06-29<\/td>\r\n<td>iOS\u00a0<\/td>\r\n<td>158909<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>2014-06-28<\/td>\r\n<td>iOS\u00a0<\/td>\r\n<td>108206<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>2014-06-27<\/td>\r\n<td>iOS\u00a0<\/td>\r\n<td>105756<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<\/figure>\r\n<\/div>\r\n<h2>Postgres and Redshift<\/h2>\r\n<p>As usual on Postgres and Redshift, window functions make this an easy task. We\u2019ll use the row_number() function partitioned by date in an inner query, and then filter to row_num = 1 in the outer query to get just the first record per group.<\/p>\r\n<p>This function numbers each of the rows:<\/p>\r\n<pre class=\"wp-block-code\"><code>row_number() over (partition by dt order by ct desc) row_num<\/code><\/pre>\r\n<p>We\u2019ll plug it into an inner query, like so, to get the desired results:<\/p>\r\n<pre class=\"wp-block-code\"><code>select dt, platform, ct \r\nfrom (\r\n  select\r\n    date(created_at) dt, \r\n    platform, \r\n    count(1) ct,\r\n    row_number() over\r\n      (partition by dt order by ct desc) row_num\r\n  from gameplays\r\n  group by 1, 2\r\n) t\r\nwhere row_num = 1<\/code><\/pre>\r\n<h2>MySQL<\/h2>\r\n<p>Since MySQL doesn\u2019t have window functions, we\u2019ll do something similar using group_concat. With group_concat we can roll up the platform column into a comma-separated string per-date, ordered by its count:<\/p>\r\n<pre class=\"wp-block-code\"><code>group_concat(platform order by ct desc) platform<\/code><\/pre>\r\n<p>That\u2019ll give us all the platforms, with the highest-performing platform first.<\/p>\r\n<p>The complete query looks like this:<\/p>\r\n<pre class=\"wp-block-code\"><code>select \r\n  dt, \r\n  group_concat(platform order by ct desc) platform\r\nfrom (\r\n  select date(created_at) dt, platform, count(1) ct\r\n  from gameplays\r\n  group by 1, 2\r\n) t\r\ngroup by 1<\/code><\/pre>\r\n<p>Which gives us results like this:<\/p>\r\n<div class=\"table-responsive\">\r\n<figure class=\"wp-block-table alignwide table table-bordered\">\r\n<table>\r\n<tbody>\r\n<tr>\r\n<td>dt<\/td>\r\n<td>platform<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>2014-06-30<\/td>\r\n<td>android, iOS<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>2014-06-29<\/td>\r\n<td>iOS, android<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>2014-06-28<\/td>\r\n<td>iOS, android<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>2014-06-27<\/td>\r\n<td>iOS, android<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>2014-06-26<br \/><br \/><\/td>\r\n<td>android, iOS<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>2014-06-25<\/td>\r\n<td>iOS, android<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<\/figure>\r\n<\/div>\r\n<p>Perfect! The platforms with the highest counts are first in the list. Using <a href=\"https:\/\/dev.mysql.com\/doc\/refman\/8.0\/en\/string-functions.html#function_substring-index\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\">substring_index<\/a> \u2014 which grabs the first word before the comma \u2014 we can extract out only the first platform:<\/p>\r\n<pre class=\"wp-block-code\"><code>substring_index(\r\n  group_concat(\r\n    platform order by ct desc\r\n  )\r\n, ',',1) platform,<\/code><\/pre>\r\n<p>Once we know the highest-performing platform each day, we can use max(ct) to get the count associated with that platform.<\/p>\r\n<p>The complete query:<\/p>\r\n<pre class=\"wp-block-code\"><code>select \r\n  dt, \r\n  substring_index(\r\n    group_concat(\r\n      platform order by ct desc\r\n    ), ',',1\r\n  ) platform,\r\n  max(ct) ct\r\nfrom (\r\n  select date(created_at) dt, platform, count(1) ct\r\n  from gameplays\r\n  group by 1, 2\r\n) t\r\ngroup by 1<\/code><\/pre>\r\n<p>And that\u2019s all there is to it!<\/p>\r\n<p>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<\/p>","protected":false},"excerpt":{"rendered":"<p>Selecting the First Row for each Group Sometimes you just want to graph the winners. Were there more iOS or Android users today? Grouping and counting the daily usage per platform is easy, but getting only the top platform for&#8230;<\/p>\n","protected":false},"author":4,"featured_media":7221,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":"","footnotes":"","_links_to":"","_links_to_target":""},"categories":[44],"tags":[472],"application":[10],"buyer-role":[],"buyer-stage":[],"department":[],"industry":[],"topic":[73],"class_list":["post-7035","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tech-talk","tag-data-team","application-cloud-data-teams","topic-sql-superstar"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v23.5 (Yoast SEO v23.8) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Selecting Only One Row Per Group | Sisense<\/title>\n<meta name=\"description\" content=\"SQL code can help you track tons of data from many sources. But sometimes, you just want to graph the winners.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.sisense.com\/blog\/selecting-only-one-row-per-group\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Selecting only one row per group\" \/>\n<meta property=\"og:description\" content=\"Selecting the First Row for each Group Sometimes you just want to graph the winners. Were there more iOS or Android users today? Grouping and counting the\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.sisense.com\/blog\/selecting-only-one-row-per-group\/\" \/>\n<meta property=\"og:site_name\" content=\"Sisense\" \/>\n<meta property=\"article:published_time\" content=\"2023-05-24T04:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-09-23T19:24:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.sisense.com\/wp-content\/uploads\/pd-blog-yoast-selecting-one-row-per-group-min.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Sisense Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/cdn.sisense.com\/wp-content\/uploads\/pd-blog-yoast-selecting-one-row-per-group-min.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@sisense\" \/>\n<meta name=\"twitter:site\" content=\"@sisense\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sisense Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.sisense.com\/blog\/selecting-only-one-row-per-group\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.sisense.com\/blog\/selecting-only-one-row-per-group\/\"},\"author\":{\"name\":\"Sisense Team\",\"@id\":\"https:\/\/www.sisense.com\/#\/schema\/person\/e70aa3a7bbc471e4b7b8c5a7d2b36115\"},\"headline\":\"Selecting only one row per group\",\"datePublished\":\"2023-05-24T04:00:00+00:00\",\"dateModified\":\"2024-09-23T19:24:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.sisense.com\/blog\/selecting-only-one-row-per-group\/\"},\"wordCount\":379,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.sisense.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.sisense.com\/blog\/selecting-only-one-row-per-group\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/cdn.sisense.com\/wp-content\/uploads\/2014\/07\/10161815\/pd-blog-featured-selecting-one-row-per-group-min.jpg\",\"keywords\":[\"data team\"],\"articleSection\":[\"Tech Talk\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.sisense.com\/blog\/selecting-only-one-row-per-group\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.sisense.com\/blog\/selecting-only-one-row-per-group\/\",\"url\":\"https:\/\/www.sisense.com\/blog\/selecting-only-one-row-per-group\/\",\"name\":\"Selecting Only One Row Per Group | Sisense\",\"isPartOf\":{\"@id\":\"https:\/\/www.sisense.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.sisense.com\/blog\/selecting-only-one-row-per-group\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.sisense.com\/blog\/selecting-only-one-row-per-group\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/cdn.sisense.com\/wp-content\/uploads\/2014\/07\/10161815\/pd-blog-featured-selecting-one-row-per-group-min.jpg\",\"datePublished\":\"2023-05-24T04:00:00+00:00\",\"dateModified\":\"2024-09-23T19:24:31+00:00\",\"description\":\"SQL code can help you track tons of data from many sources. But sometimes, you just want to graph the winners.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.sisense.com\/blog\/selecting-only-one-row-per-group\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.sisense.com\/blog\/selecting-only-one-row-per-group\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.sisense.com\/blog\/selecting-only-one-row-per-group\/#primaryimage\",\"url\":\"https:\/\/cdn.sisense.com\/wp-content\/uploads\/2014\/07\/10161815\/pd-blog-featured-selecting-one-row-per-group-min.jpg\",\"contentUrl\":\"https:\/\/cdn.sisense.com\/wp-content\/uploads\/2014\/07\/10161815\/pd-blog-featured-selecting-one-row-per-group-min.jpg\",\"width\":1200,\"height\":628,\"caption\":\"pd blog featured selecting one row per group\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.sisense.com\/blog\/selecting-only-one-row-per-group\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.sisense.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Selecting only one row per group\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.sisense.com\/#website\",\"url\":\"https:\/\/www.sisense.com\/\",\"name\":\"Sisense\",\"description\":\"Build your business with anywhere-analytics\",\"publisher\":{\"@id\":\"https:\/\/www.sisense.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.sisense.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.sisense.com\/#organization\",\"name\":\"Sisense\",\"url\":\"https:\/\/www.sisense.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.sisense.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/cdn.sisense.com\/wp-content\/uploads\/sisense-yoast-og.jpg\",\"contentUrl\":\"https:\/\/cdn.sisense.com\/wp-content\/uploads\/sisense-yoast-og.jpg\",\"width\":1200,\"height\":600,\"caption\":\"Sisense\"},\"image\":{\"@id\":\"https:\/\/www.sisense.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/sisense\",\"https:\/\/www.linkedin.com\/company\/sisense\",\"https:\/\/github.com\/sisense\/\"],\"description\":\"Sisense accelerates product innovation through AI\/ML capabilities. Our global analytics platform lets customers drive better, faster decisions for their business and end users.\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.sisense.com\/#\/schema\/person\/e70aa3a7bbc471e4b7b8c5a7d2b36115\",\"name\":\"Sisense Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.sisense.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/213e415f47bc3c7f0155a0755b1cea8c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/213e415f47bc3c7f0155a0755b1cea8c?s=96&d=mm&r=g\",\"caption\":\"Sisense Team\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Selecting Only One Row Per Group | Sisense","description":"SQL code can help you track tons of data from many sources. But sometimes, you just want to graph the winners.","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:\/\/www.sisense.com\/blog\/selecting-only-one-row-per-group\/","og_locale":"en_US","og_type":"article","og_title":"Selecting only one row per group","og_description":"Selecting the First Row for each Group Sometimes you just want to graph the winners. Were there more iOS or Android users today? Grouping and counting the","og_url":"https:\/\/www.sisense.com\/blog\/selecting-only-one-row-per-group\/","og_site_name":"Sisense","article_published_time":"2023-05-24T04:00:00+00:00","article_modified_time":"2024-09-23T19:24:31+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/cdn.sisense.com\/wp-content\/uploads\/pd-blog-yoast-selecting-one-row-per-group-min.jpg","type":"image\/jpeg"}],"author":"Sisense Team","twitter_card":"summary_large_image","twitter_image":"https:\/\/cdn.sisense.com\/wp-content\/uploads\/pd-blog-yoast-selecting-one-row-per-group-min.jpg","twitter_creator":"@sisense","twitter_site":"@sisense","twitter_misc":{"Written by":"Sisense Team","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.sisense.com\/blog\/selecting-only-one-row-per-group\/#article","isPartOf":{"@id":"https:\/\/www.sisense.com\/blog\/selecting-only-one-row-per-group\/"},"author":{"name":"Sisense Team","@id":"https:\/\/www.sisense.com\/#\/schema\/person\/e70aa3a7bbc471e4b7b8c5a7d2b36115"},"headline":"Selecting only one row per group","datePublished":"2023-05-24T04:00:00+00:00","dateModified":"2024-09-23T19:24:31+00:00","mainEntityOfPage":{"@id":"https:\/\/www.sisense.com\/blog\/selecting-only-one-row-per-group\/"},"wordCount":379,"commentCount":0,"publisher":{"@id":"https:\/\/www.sisense.com\/#organization"},"image":{"@id":"https:\/\/www.sisense.com\/blog\/selecting-only-one-row-per-group\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn.sisense.com\/wp-content\/uploads\/2014\/07\/10161815\/pd-blog-featured-selecting-one-row-per-group-min.jpg","keywords":["data team"],"articleSection":["Tech Talk"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.sisense.com\/blog\/selecting-only-one-row-per-group\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.sisense.com\/blog\/selecting-only-one-row-per-group\/","url":"https:\/\/www.sisense.com\/blog\/selecting-only-one-row-per-group\/","name":"Selecting Only One Row Per Group | Sisense","isPartOf":{"@id":"https:\/\/www.sisense.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.sisense.com\/blog\/selecting-only-one-row-per-group\/#primaryimage"},"image":{"@id":"https:\/\/www.sisense.com\/blog\/selecting-only-one-row-per-group\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn.sisense.com\/wp-content\/uploads\/2014\/07\/10161815\/pd-blog-featured-selecting-one-row-per-group-min.jpg","datePublished":"2023-05-24T04:00:00+00:00","dateModified":"2024-09-23T19:24:31+00:00","description":"SQL code can help you track tons of data from many sources. But sometimes, you just want to graph the winners.","breadcrumb":{"@id":"https:\/\/www.sisense.com\/blog\/selecting-only-one-row-per-group\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.sisense.com\/blog\/selecting-only-one-row-per-group\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.sisense.com\/blog\/selecting-only-one-row-per-group\/#primaryimage","url":"https:\/\/cdn.sisense.com\/wp-content\/uploads\/2014\/07\/10161815\/pd-blog-featured-selecting-one-row-per-group-min.jpg","contentUrl":"https:\/\/cdn.sisense.com\/wp-content\/uploads\/2014\/07\/10161815\/pd-blog-featured-selecting-one-row-per-group-min.jpg","width":1200,"height":628,"caption":"pd blog featured selecting one row per group"},{"@type":"BreadcrumbList","@id":"https:\/\/www.sisense.com\/blog\/selecting-only-one-row-per-group\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.sisense.com\/"},{"@type":"ListItem","position":2,"name":"Selecting only one row per group"}]},{"@type":"WebSite","@id":"https:\/\/www.sisense.com\/#website","url":"https:\/\/www.sisense.com\/","name":"Sisense","description":"Build your business with anywhere-analytics","publisher":{"@id":"https:\/\/www.sisense.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.sisense.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.sisense.com\/#organization","name":"Sisense","url":"https:\/\/www.sisense.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.sisense.com\/#\/schema\/logo\/image\/","url":"https:\/\/cdn.sisense.com\/wp-content\/uploads\/sisense-yoast-og.jpg","contentUrl":"https:\/\/cdn.sisense.com\/wp-content\/uploads\/sisense-yoast-og.jpg","width":1200,"height":600,"caption":"Sisense"},"image":{"@id":"https:\/\/www.sisense.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/sisense","https:\/\/www.linkedin.com\/company\/sisense","https:\/\/github.com\/sisense\/"],"description":"Sisense accelerates product innovation through AI\/ML capabilities. Our global analytics platform lets customers drive better, faster decisions for their business and end users."},{"@type":"Person","@id":"https:\/\/www.sisense.com\/#\/schema\/person\/e70aa3a7bbc471e4b7b8c5a7d2b36115","name":"Sisense Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.sisense.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/213e415f47bc3c7f0155a0755b1cea8c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/213e415f47bc3c7f0155a0755b1cea8c?s=96&d=mm&r=g","caption":"Sisense Team"}}]}},"_links":{"self":[{"href":"https:\/\/www.sisense.com\/wp-json\/wp\/v2\/posts\/7035"}],"collection":[{"href":"https:\/\/www.sisense.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sisense.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sisense.com\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sisense.com\/wp-json\/wp\/v2\/comments?post=7035"}],"version-history":[{"count":0,"href":"https:\/\/www.sisense.com\/wp-json\/wp\/v2\/posts\/7035\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.sisense.com\/wp-json\/wp\/v2\/media\/7221"}],"wp:attachment":[{"href":"https:\/\/www.sisense.com\/wp-json\/wp\/v2\/media?parent=7035"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sisense.com\/wp-json\/wp\/v2\/categories?post=7035"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sisense.com\/wp-json\/wp\/v2\/tags?post=7035"},{"taxonomy":"application","embeddable":true,"href":"https:\/\/www.sisense.com\/wp-json\/wp\/v2\/application?post=7035"},{"taxonomy":"buyer-role","embeddable":true,"href":"https:\/\/www.sisense.com\/wp-json\/wp\/v2\/buyer-role?post=7035"},{"taxonomy":"buyer-stage","embeddable":true,"href":"https:\/\/www.sisense.com\/wp-json\/wp\/v2\/buyer-stage?post=7035"},{"taxonomy":"department","embeddable":true,"href":"https:\/\/www.sisense.com\/wp-json\/wp\/v2\/department?post=7035"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.sisense.com\/wp-json\/wp\/v2\/industry?post=7035"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.sisense.com\/wp-json\/wp\/v2\/topic?post=7035"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}