{"id":65,"date":"2024-11-29T21:55:45","date_gmt":"2024-11-29T21:55:45","guid":{"rendered":"https:\/\/mybuddyhoward.com\/?p=65"},"modified":"2024-11-29T22:01:17","modified_gmt":"2024-11-29T22:01:17","slug":"query-aws-load-balancer-logs-over-80-queries-from-my-book-for-free","status":"publish","type":"post","link":"https:\/\/mybuddyhoward.com\/?p=65","title":{"rendered":"Query AWS Load Balancer Logs: Over 80 Queries from My Book for FREE!"},"content":{"rendered":"\n<p>In my previous blog post, I shared the story behind writing and publishing my first book. Today, I want to extend some of that hard work to the world, free of charge. I&#8217;ve decided to publish all of the example queries from my book in this blog post. Obviously, incorporating the entire content of the book into a blog would lead to an insane amount of scrolling. Therefore, I will focus on sharing the core elements. In my book, each SQL query is accompanied by helpful explanations and tips\u2014details that I can&#8217;t fully replicate in this blog post. Nonetheless, I believe these SQL queries will provide a solid starting point for anyone embarking on their journey to analyze AWS load balancer logs using Amazon Athena. For those who find themselves deep in the trenches and in need of more comprehensive details for each example, my book may be worth exploring. Check out my book here: <a href=\"https:\/\/a.co\/d\/9x8YPLF\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/a.co\/d\/9x8YPLF<\/a>.<br><br>So, without further ado, let&#8217;s dive into the examples.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><\/h3>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">1. <strong>Analyzing High-Latency Targets<\/strong><\/h3>\n\n\n\n<p><strong>Category:<\/strong> Performance Optimization <br><strong>Objective:<\/strong> Identify targets with the highest average response time to help optimize backend performance.<\/p>\n\n\n\n<pre class=\"wp-block-code has-main-light-color has-main-dark-background-color has-text-color has-background has-link-color wp-elements-fff065c10df3eb5773f4e7711acda027\" style=\"padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)\"><code>SELECT target_ip, AVG(response_processing_time) AS avg_latency\nFROM alb_logs\nGROUP BY target_ip\nORDER BY avg_latency DESC\nLIMIT 10;<\/code><\/pre>\n\n\n\n<p><strong>Application:<\/strong><br>Focus on these targets for performance optimization to reduce latency and improve user experience.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">2. <strong>Detecting Frequent 5xx Errors<\/strong><\/h3>\n\n\n\n<p><strong>Category:<\/strong> Error Analysis<br><strong>Objective:<\/strong> Identify the top 5 targets generating 5xx errors.<\/p>\n\n\n\n<pre class=\"wp-block-code has-main-light-color has-main-dark-background-color has-text-color has-background has-link-color wp-elements-1bc019edae9a429d20cd3b58454ca48a\" style=\"padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)\"><code>SELECT target_ip, COUNT(*) AS error_count\nFROM alb_logs\nWHERE elb_status_code LIKE '5%'\nGROUP BY target_ip\nORDER BY error_count DESC\nLIMIT 5;<\/code><\/pre>\n\n\n\n<p><strong>Application:<\/strong><br>Fix issues with these targets to enhance reliability and reduce downtime.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">3. <strong>Identifying Top Referrers<\/strong><\/h3>\n\n\n\n<p><strong>Category:<\/strong> Business Insights<br><strong>Objective:<\/strong> List top 10 referrers generating traffic.<\/p>\n\n\n\n<pre class=\"wp-block-code has-main-light-color has-main-dark-background-color has-text-color has-background has-link-color wp-elements-a07f601626e795e6741cd7b44a451de9\" style=\"padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)\"><code>SELECT referrer, COUNT(*) AS traffic_count\nFROM alb_logs\nGROUP BY referrer\nORDER BY traffic_count DESC\nLIMIT 10;\n<\/code><\/pre>\n\n\n\n<p><strong>Application:<\/strong><br>Understand referral sources and focus on strengthening partnerships or campaigns.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">4. <strong>Classifying Request Types<\/strong><\/h3>\n\n\n\n<p><strong>Category:<\/strong> Business Insights<br><strong>Objective:<\/strong> Count requests based on HTTP methods (GET, POST, etc.).<\/p>\n\n\n\n<pre class=\"wp-block-code has-main-light-color has-main-dark-background-color has-text-color has-background has-link-color wp-elements-9375c97569341d4547eb6624b33ba355\" style=\"padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)\"><code>SELECT request_verb, COUNT(*) AS request_count\nFROM alb_logs\nGROUP BY request_verb\nORDER BY request_count DESC;\n<\/code><\/pre>\n\n\n\n<p><strong>Application:<\/strong><br>Evaluate API usage patterns for optimization and scaling.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">5. <strong>Tracking Large Downloads<\/strong><\/h3>\n\n\n\n<p><strong>Category:<\/strong> Security &amp; Compliance<br><strong>Objective:<\/strong> Identify responses with high <code>sent_bytes<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-code has-main-light-color has-main-dark-background-color has-text-color has-background has-link-color wp-elements-116b452e33fcf50588d31324b06f11e7\" style=\"padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)\"><code>SELECT request_url, sent_bytes\nFROM alb_logs\nWHERE sent_bytes &gt; (SELECT approx_percentile(sent_bytes, 0.99) FROM alb_logs)\nORDER BY sent_bytes DESC;\n<\/code><\/pre>\n\n\n\n<p><strong>Application:<\/strong><br>Spot potential unauthorized data downloads or performance bottlenecks.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">6. <strong>Peak Hour Analysis<\/strong><\/h3>\n\n\n\n<p><strong>Category:<\/strong> Performance Optimization<br><strong>Objective:<\/strong> Determine hours with the most traffic.<\/p>\n\n\n\n<pre class=\"wp-block-code has-main-light-color has-main-dark-background-color has-text-color has-background has-link-color wp-elements-91eae34ec4f2f8cab68ee6ac200313da\" style=\"padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)\"><code>SELECT HOUR(time) AS hour, COUNT(*) AS request_count\nFROM alb_logs\nGROUP BY HOUR(time)\nORDER BY request_count DESC;\n<\/code><\/pre>\n\n\n\n<p><strong>Application:<\/strong><br>Prepare for peak loads by scaling resources during high-traffic periods.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">7. <strong>Monitoring Target Utilization<\/strong><\/h3>\n\n\n\n<p><strong>Category:<\/strong> Business Insights<br><strong>Objective:<\/strong> Find the top 5 most accessed targets.<\/p>\n\n\n\n<pre class=\"wp-block-code has-main-light-color has-main-dark-background-color has-text-color has-background has-link-color wp-elements-1ee828c69bb889eb1356976c1d984816\" style=\"padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)\"><code>SELECT target_ip, COUNT(*) AS hit_count\nFROM alb_logs\nGROUP BY target_ip\nORDER BY hit_count DESC\nLIMIT 5;\n<\/code><\/pre>\n\n\n\n<p><strong>Application:<\/strong><br>Balance traffic to prevent overloading critical resources.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">8. <strong>Identifying Long-Lived Sessions<\/strong><\/h3>\n\n\n\n<p><strong>Category:<\/strong> Performance Optimization<br><strong>Objective:<\/strong> Find sessions with extended durations.<\/p>\n\n\n\n<pre class=\"wp-block-code has-main-light-color has-main-dark-background-color has-text-color has-background has-link-color wp-elements-5f3f1a0cd89f752f994c9035dab1d9ed\" style=\"padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)\"><code>SELECT session_id, MAX(session_duration) AS max_duration\nFROM alb_logs\nGROUP BY session_id\nORDER BY max_duration DESC\nLIMIT 10;\n<\/code><\/pre>\n\n\n\n<p><strong>Application:<\/strong><br>Optimize resource usage for long sessions.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">9. <strong>Average Payload Size<\/strong><\/h3>\n\n\n\n<p><strong>Category:<\/strong> Business Insights<br><strong>Objective:<\/strong> Calculate the average size of requests.<\/p>\n\n\n\n<pre class=\"wp-block-code has-main-light-color has-main-dark-background-color has-text-color has-background has-link-color wp-elements-e1e311c654e08589ae555b064734240a\" style=\"padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)\"><code>SELECT AVG(received_bytes) AS avg_request_size\nFROM alb_logs;\n<\/code><\/pre>\n\n\n\n<p><strong>Application:<\/strong><br>Adjust payload size limits to align with typical usage.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">10. <strong>Request Patterns by Day<\/strong><\/h3>\n\n\n\n<p><strong>Category:<\/strong> Business Insights<br><strong>Objective:<\/strong> Analyze request volume trends over days.<\/p>\n\n\n\n<pre class=\"wp-block-code has-main-light-color has-main-dark-background-color has-text-color has-background has-link-color wp-elements-b0d3155ee694ef0b7cc0bc041e843d01\" style=\"padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)\"><code>SELECT DATE(time) AS request_date, COUNT(*) AS request_count\nFROM alb_logs\nGROUP BY request_date\nORDER BY request_date;\n<\/code><\/pre>\n\n\n\n<p><strong>Application:<\/strong><br>Plan maintenance and campaigns around high-traffic days.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">11. <strong>TLS Protocol Distribution<\/strong><\/h3>\n\n\n\n<p><strong>Category:<\/strong> Security &amp; Compliance<br><strong>Objective:<\/strong> Count requests based on SSL\/TLS protocols.<\/p>\n\n\n\n<pre class=\"wp-block-code has-main-light-color has-main-dark-background-color has-text-color has-background has-link-color wp-elements-1dcd20f5b3ff4b06fdfd6f2901c74592\" style=\"padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)\"><code>SELECT ssl_protocol, COUNT(*) AS protocol_count\nFROM alb_logs\nGROUP BY ssl_protocol\nORDER BY protocol_count DESC;\n<\/code><\/pre>\n\n\n\n<p><strong>Application:<\/strong><br>Identify and deprecate outdated protocols for improved security.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">12. <strong>Client Browser Distribution<\/strong><\/h3>\n\n\n\n<p><strong>Category:<\/strong> Business Insights<br><strong>Objective:<\/strong> Determine which browsers your users are using.<\/p>\n\n\n\n<pre class=\"wp-block-code has-main-light-color has-main-dark-background-color has-text-color has-background has-link-color wp-elements-da20cf3d134422139822ecaed56b7b91\" style=\"padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)\"><code>SELECT user_agent, COUNT(*) AS usage_count\nFROM alb_logs\nGROUP BY user_agent\nORDER BY usage_count DESC\nLIMIT 10;\n<\/code><\/pre>\n\n\n\n<p><strong>Application:<\/strong><br>Prioritize compatibility testing for popular browsers.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">13. <strong>Analyzing Redirects<\/strong><\/h3>\n\n\n\n<p><strong>Category:<\/strong> Error Analysis<br><strong>Objective:<\/strong> List the most common redirect URLs.<\/p>\n\n\n\n<pre class=\"wp-block-code has-main-light-color has-main-dark-background-color has-text-color has-background has-link-color wp-elements-5b187ae371558f642cc06cac95211cad\" style=\"padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)\"><code>SELECT redirect_url, COUNT(*) AS redirect_count\nFROM alb_logs\nGROUP BY redirect_url\nORDER BY redirect_count DESC\nLIMIT 10;\n<\/code><\/pre>\n\n\n\n<p><strong>Application:<\/strong><br>Optimize redirect rules to improve user navigation.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">14. <strong>Unusual Response Times<\/strong><\/h3>\n\n\n\n<p><strong>Category:<\/strong> Performance Optimization<br><strong>Objective:<\/strong> Detect requests with extreme response times.<\/p>\n\n\n\n<pre class=\"wp-block-code has-main-light-color has-main-dark-background-color has-text-color has-background has-link-color wp-elements-db787e7edbb56596cba3135b4102646c\" style=\"padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)\"><code>SELECT *\nFROM alb_logs\nWHERE response_processing_time &gt; (SELECT approx_percentile(response_processing_time, 0.99) FROM alb_logs);\n<\/code><\/pre>\n\n\n\n<p><strong>Application:<\/strong><br>Investigate and resolve outliers causing delays.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">15. <strong>Finding Top File Uploads<\/strong><\/h3>\n\n\n\n<p><strong>Category:<\/strong> Business Insights<br><strong>Objective:<\/strong> Identify the largest uploaded files.<\/p>\n\n\n\n<pre class=\"wp-block-code has-main-light-color has-main-dark-background-color has-text-color has-background has-link-color wp-elements-b264a8c953c1593b8f812bab548b249f\" style=\"padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)\"><code>SELECT request_url, received_bytes\nFROM alb_logs\nORDER BY received_bytes DESC\nLIMIT 10;\n<\/code><\/pre>\n\n\n\n<p><strong>Application:<\/strong><br>Spot trends or anomalies in file upload activity.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">16. <strong>Regional Traffic Distribution<\/strong><\/h3>\n\n\n\n<p><strong>Category:<\/strong> Business Insights<br><strong>Objective:<\/strong> Count traffic by geographical regions.<\/p>\n\n\n\n<pre class=\"wp-block-code has-main-light-color has-main-dark-background-color has-text-color has-background has-link-color wp-elements-040af66adc9221464fa61f471dce6391\" style=\"padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)\"><code>SELECT region, COUNT(*) AS request_count\nFROM alb_logs\nGROUP BY region\nORDER BY request_count DESC;\n<\/code><\/pre>\n\n\n\n<p><strong>Application:<\/strong><br>Optimize regional content delivery for better user experience.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">17. <strong>Backend Health Check<\/strong><\/h3>\n\n\n\n<p><strong>Category:<\/strong> Performance Optimization<br><strong>Objective:<\/strong> Monitor unhealthy target status codes.<\/p>\n\n\n\n<pre class=\"wp-block-code has-main-light-color has-main-dark-background-color has-text-color has-background has-link-color wp-elements-e71ed583e56c72fdfae733851a331196\" style=\"padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)\"><code>SELECT target_status_code, COUNT(*) AS count\nFROM alb_logs\nGROUP BY target_status_code\nORDER BY count DESC;\n<\/code><\/pre>\n\n\n\n<p><strong>Application:<\/strong><br>Fix failing backend services promptly.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">18. <strong>Correlating User Sessions<\/strong><\/h3>\n\n\n\n<p><strong>Category:<\/strong> Business Insights<br><strong>Objective:<\/strong> Track the number of requests per session.<\/p>\n\n\n\n<pre class=\"wp-block-code has-main-light-color has-main-dark-background-color has-text-color has-background has-link-color wp-elements-26e22ddf3842a9e1f96dd8d5754eee14\" style=\"padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)\"><code>SELECT session_id, COUNT(*) AS request_count\nFROM alb_logs\nGROUP BY session_id\nORDER BY request_count DESC\nLIMIT 10;\n<\/code><\/pre>\n\n\n\n<p><strong>Application:<\/strong><br>Understand user activity and session behavior.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">19. <strong>HTTP Version Usage<\/strong><\/h3>\n\n\n\n<p><strong>Category:<\/strong> Business Insights<br><strong>Objective:<\/strong> Analyze traffic by HTTP version.<\/p>\n\n\n\n<pre class=\"wp-block-code has-main-light-color has-main-dark-background-color has-text-color has-background has-link-color wp-elements-acd25061a706a4ce719cf76832cdfe59\" style=\"padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)\"><code>SELECT http_version, COUNT(*) AS request_count\nFROM alb_logs\nGROUP BY http_version\nORDER BY request_count DESC;\n<\/code><\/pre>\n\n\n\n<p><strong>Application:<\/strong><br>Evaluate HTTP\/2 or HTTP\/3 adoption rates for performance improvements.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">20. <strong>Frequent Error Reasons<\/strong><\/h3>\n\n\n\n<p><strong>Category:<\/strong> Error Analysis<br><strong>Objective:<\/strong> List top error reasons from requests.<\/p>\n\n\n\n<pre class=\"wp-block-code has-main-light-color has-main-dark-background-color has-text-color has-background has-link-color wp-elements-47545b4483e5028d2b19b5454c6c9327\" style=\"padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)\"><code>SELECT error_reason, COUNT(*) AS error_count\nFROM alb_logs\nGROUP BY error_reason\nORDER BY error_count DESC\nLIMIT 10;\n<\/code><\/pre>\n\n\n\n<p><strong>Application:<\/strong><br>Address common causes of request failures to enhance reliability.<\/p>\n\n\n\n<p>I hope these examples give you a solid starting point for exploring the power of Amazon Athena in analyzing AWS ALB logs. Whether you&#8217;re optimizing performance, troubleshooting errors, or gaining business insights, these queries can help you uncover valuable patterns and actionable data from your logs.<\/p>\n\n\n\n<p>If you find these examples helpful and want to dive deeper, my book, <em><a href=\"https:\/\/a.co\/d\/9x8YPLF\" target=\"_blank\" rel=\"noopener\" title=\"Analyzing AWS Load Balancer Logs: A Quick Guide with Over 80 Essential Queries Using Amazon Athena\">Analyzing AWS Load Balancer Logs: A Quick Guide with Over 80 Essential Queries Using Amazon Athena<\/a><\/em>, offers a comprehensive collection of strategies and tips to take your log analysis skills to the next level.<\/p>\n\n\n\n<p>As always, I\u2019d love to hear your feedback, questions, or any creative ways you\u2019ve used these queries in your projects. Feel free to leave a comment below or connect with me.<\/p>\n\n\n\n<div class=\"wp-block-comments\">\n\n\n\n\n\n\t<div id=\"respond\" class=\"comment-respond wp-block-post-comments-form\">\n\t\t<h3 id=\"reply-title\" class=\"comment-reply-title\">Leave a Reply <small><a rel=\"nofollow\" id=\"cancel-comment-reply-link\" href=\"\/index.php?rest_route=%2Fwp%2Fv2%2Fposts%2F65#respond\" style=\"display:none;\">Cancel reply<\/a><\/small><\/h3><form action=\"https:\/\/mybuddyhoward.com\/wp-comments-post.php\" method=\"post\" id=\"commentform\" class=\"comment-form\"><p class=\"comment-notes\"><span id=\"email-notes\">Your email address will not be published.<\/span> <span class=\"required-field-message\">Required fields are marked <span class=\"required\">*<\/span><\/span><\/p><p class=\"comment-form-comment\"><label for=\"comment\">Comment <span class=\"required\">*<\/span><\/label> <textarea id=\"comment\" name=\"comment\" cols=\"45\" rows=\"8\" maxlength=\"65525\" required=\"required\"><\/textarea><\/p><p class=\"comment-form-author\"><label for=\"author\">Name <span class=\"required\">*<\/span><\/label> <input id=\"author\" name=\"author\" type=\"text\" value=\"\" size=\"30\" maxlength=\"245\" autocomplete=\"name\" required=\"required\" \/><\/p>\n<p class=\"comment-form-email\"><label for=\"email\">Email <span class=\"required\">*<\/span><\/label> <input id=\"email\" name=\"email\" type=\"text\" value=\"\" size=\"30\" maxlength=\"100\" aria-describedby=\"email-notes\" autocomplete=\"email\" required=\"required\" \/><\/p>\n<p class=\"comment-form-url\"><label for=\"url\">Website<\/label> <input id=\"url\" name=\"url\" type=\"text\" value=\"\" size=\"30\" maxlength=\"200\" autocomplete=\"url\" \/><\/p>\n<p class=\"comment-form-cookies-consent\"><input id=\"wp-comment-cookies-consent\" name=\"wp-comment-cookies-consent\" type=\"checkbox\" value=\"yes\" \/> <label for=\"wp-comment-cookies-consent\">Save my name, email, and website in this browser for the next time I comment.<\/label><\/p>\n<p class=\"form-submit\"><input name=\"submit\" type=\"submit\" id=\"submit\" class=\"submit\" value=\"Post Comment\" \/> <input type='hidden' name='comment_post_ID' value='65' id='comment_post_ID' \/>\n<input type='hidden' name='comment_parent' id='comment_parent' value='0' \/>\n<\/p><\/form>\t<\/div><!-- #respond -->\n\t<\/div>\n","protected":false},"excerpt":{"rendered":"<p>In my previous blog post, I shared the story behind writing and publishing my first book. Today, I want to extend some of that hard work to the world, free of charge. I&#8217;ve decided to publish all of the example queries from my book in this blog post. Obviously, incorporating the entire content of the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":95,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[1],"tags":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/mybuddyhoward.com\/index.php?rest_route=\/wp\/v2\/posts\/65"}],"collection":[{"href":"https:\/\/mybuddyhoward.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mybuddyhoward.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mybuddyhoward.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mybuddyhoward.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=65"}],"version-history":[{"count":6,"href":"https:\/\/mybuddyhoward.com\/index.php?rest_route=\/wp\/v2\/posts\/65\/revisions"}],"predecessor-version":[{"id":96,"href":"https:\/\/mybuddyhoward.com\/index.php?rest_route=\/wp\/v2\/posts\/65\/revisions\/96"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/mybuddyhoward.com\/index.php?rest_route=\/wp\/v2\/media\/95"}],"wp:attachment":[{"href":"https:\/\/mybuddyhoward.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=65"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mybuddyhoward.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=65"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mybuddyhoward.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=65"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}