{"id":5398,"date":"2012-09-16T06:20:59","date_gmt":"2012-09-16T04:20:59","guid":{"rendered":"http:\/\/code.openark.org\/blog\/?p=5398"},"modified":"2012-09-16T06:20:59","modified_gmt":"2012-09-16T04:20:59","slug":"three-wishes-for-a-new-year-201","status":"publish","type":"post","link":"https:\/\/code.openark.org\/blog\/mysql\/three-wishes-for-a-new-year-201","title":{"rendered":"Three wishes for a new year"},"content":{"rendered":"<div>\n<p>Another new year by Jewish calendar. What do I wish for the following year?<\/p>\n<ol>\n<li>World peace<\/li>\n<li>Good health to all<\/li>\n<li>Get a decent, long waited for, implementation of <a href=\"http:\/\/en.wikipedia.org\/wiki\/Window_function_%28SQL%29#Window_function\">Window Functions<\/a> (aka Analytic Functions) for MySQL.<\/li>\n<\/ol>\n<p>I mean, I like <a href=\"http:\/\/dev.mysql.com\/doc\/refman\/5.5\/en\/group-by-functions.html#function_group-concat\"><strong>GROUP_CONCAT<\/strong><\/a>, and the many hacks it provides: [<a href=\"http:\/\/code.openark.org\/blog\/mysql\/selecting-a-specific-non-aggregated-column-data-in-group-by\">1<\/a>], [<a href=\"http:\/\/code.openark.org\/blog\/mysql\/unwalking-a-string-with-group_concat\">2<\/a>], [<a href=\"http:\/\/code.openark.org\/blog\/mysql\/rotating-sql-graphs-horizontally\">3<\/a>], [<a href=\"http:\/\/code.openark.org\/blog\/mysql\/sql-graphics\">4<\/a>], [<a href=\"http:\/\/code.openark.org\/blog\/mysql\/sql-pie-chart\">5<\/a>], [<a href=\"http:\/\/code.openark.org\/blog\/mysql\/sql-multi-line-chart\">6<\/a>], [<a href=\"http:\/\/code.openark.org\/blog\/mysql\/checking-for-string-permutation\">7<\/a>], [<a href=\"http:\/\/code.openark.org\/blog\/mysql\/sql-selecting-top-n-records-per-group\">8<\/a>], [<a href=\"http:\/\/code.openark.org\/blog\/mysql\/another-use-for-top-n-records-per-group-query\">9<\/a>], [<a href=\"http:\/\/code.openark.org\/blog\/mysql\/sql-selecting-top-n-records-per-group-another-solution\">10<\/a>], [<a href=\"http:\/\/code.openark.org\/blog\/mysql\/generating-google-line-charts-with-sql-part-i\">11<\/a>], [<a href=\"http:\/\/code.openark.org\/blog\/mysql\/how-common_schema-splits-tables-internals\">12<\/a>]. But it makes for a poor substitution to Window Functions, and only solves a subset of issues.<\/p>\n<p>My wishes in previous two years [<a href=\"http:\/\/code.openark.org\/blog\/mysql\/three-wishes-for-a-new-year\">2010<\/a>], [<a href=\"http:\/\/code.openark.org\/blog\/mysql\/three-wishes-for-a-new-year-2\">2011<\/a>] have not come true. I&#8217;m still willing to settle for two out of three.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Another new year by Jewish calendar. What do I wish for the following year? World peace Good health to all Get a decent, long waited for, implementation of Window Functions (aka Analytic Functions) for MySQL. I mean, I like GROUP_CONCAT, and the many hacks it provides: [1], [2], [3], [4], [5], [6], [7], [8], [9], [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"enabled":false},"version":2}},"categories":[5],"tags":[21],"class_list":["post-5398","post","type-post","status-publish","format-standard","hentry","category-mysql","tag-sql"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p2bZZp-1p4","_links":{"self":[{"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/posts\/5398","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/comments?post=5398"}],"version-history":[{"count":24,"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/posts\/5398\/revisions"}],"predecessor-version":[{"id":6510,"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/posts\/5398\/revisions\/6510"}],"wp:attachment":[{"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/media?parent=5398"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/categories?post=5398"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/tags?post=5398"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}