{"id":27547,"date":"2025-08-15T09:15:26","date_gmt":"2025-08-15T06:15:26","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/postgresqlde-hareketli-ortalama-hesaplama-orneklerle\/"},"modified":"2025-08-15T09:15:26","modified_gmt":"2025-08-15T06:15:26","slug":"postgresqlde-hareketli-ortalama-hesaplama-orneklerle","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/postgresqlde-hareketli-ortalama-hesaplama-orneklerle\/","title":{"rendered":"PostgreSQL&#8217;de Hareketli Ortalama Hesaplama (\u00d6rneklerle)"},"content":{"rendered":"<p># PostgreSQL&#8217;de Hareketli Ortalama Nas\u0131l Hesaplan\u0131r? (\u00d6rneklerle)<\/p>\n<p>PostgreSQL veritaban\u0131n\u0131zda zaman serileri verileriyle \u00e7al\u0131\u015f\u0131yorsan\u0131z, trendleri ve kal\u0131plar\u0131 tespit etmek i\u00e7in hareketli ortalama hesaplamak \u00e7ok faydal\u0131 olacakt\u0131r.  Bu makale, PostgreSQL&#8217;de hareketli ortalama hesaplaman\u0131n temellerinden ileri d\u00fczey tekniklerine kadar ad\u0131m ad\u0131m bir rehber sunmaktad\u0131r.  Veri analizi ve zaman serisi verilerinin yorumlanmas\u0131nda hareketli ortalamalar\u0131n g\u00fcc\u00fcn\u00fc ke\u015ffedece\u011fiz.  Ba\u015flang\u0131\u00e7 seviyesinden ileri seviyeye, ger\u00e7ek d\u00fcnya \u00f6rnekleri ve pratik \u00e7\u00f6z\u00fcmlerle dolu bu rehber, PostgreSQL becerilerinizi bir \u00fcst seviyeye ta\u015f\u0131man\u0131za yard\u0131mc\u0131 olacakt\u0131r.<\/p>\n<p><strong>\u00d6\u011frenme Yol Haritas\u0131<\/strong><\/p>\n<p>Bu makale, farkl\u0131 seviyelerdeki okuyucular i\u00e7in tasarlanm\u0131\u015ft\u0131r. A\u015fa\u011f\u0131daki yol haritas\u0131, sizin i\u00e7in en uygun b\u00f6l\u00fcme h\u0131zl\u0131ca ula\u015fman\u0131za yard\u0131mc\u0131 olacakt\u0131r:<\/p>\n<p>* <strong>Yeni Ba\u015flayan:<\/strong> Ad\u0131m ad\u0131m a\u00e7\u0131klama, basit kod \u00f6rne\u011fi.<br \/>\n* <strong>Orta Seviye:<\/strong> Ger\u00e7ek hayat \u00f6rne\u011fi, optimizasyon ipu\u00e7lar\u0131.<br \/>\n* <strong>\u0130leri Seviye:<\/strong> Performans analizi, edge case&#8217;ler (ayk\u0131r\u0131 durumlar).<\/p>\n<p><strong>PostgreSQL&#8217;de Hareketli Ortalama: Temel Kavramlar<\/strong><\/p>\n<p>Hareketli ortalama (Moving Average), bir veri serisindeki belirli bir zaman dilimi i\u00e7indeki de\u011ferlerin ortalamas\u0131n\u0131 hesaplama y\u00f6ntemidir.  Bu, veri serisindeki g\u00fcr\u00fclt\u00fcy\u00fc azaltmaya ve altta yatan trendleri ortaya \u00e7\u0131karmaya yard\u0131mc\u0131 olur.  PostgreSQL&#8217;de hareketli ortalama hesaplamak i\u00e7in \u00e7e\u015fitli y\u00f6ntemler mevcuttur. En yayg\u0131n kullan\u0131lanlar, basit hareketli ortalama (SMA), a\u011f\u0131rl\u0131kl\u0131 hareketli ortalama (WMA) ve \u00fcstel hareketli ortalama (EMA)&#8217;d\u0131r.<\/p>\n<p><strong>Basit Hareketli Ortalama (SMA):<\/strong>  Belirli bir pencere b\u00fcy\u00fckl\u00fc\u011f\u00fcndeki (periyot) t\u00fcm de\u011ferlerin basit aritmetik ortalamas\u0131n\u0131 al\u0131r.  \u00d6rne\u011fin, 3 g\u00fcnl\u00fck bir SMA, son \u00fc\u00e7 g\u00fcn\u00fcn de\u011ferlerinin ortalamas\u0131n\u0131 al\u0131r.<\/p>\n<p><strong>A\u011f\u0131rl\u0131kl\u0131 Hareketli Ortalama (WMA):<\/strong>  SMA&#8217;ya benzer, ancak daha yeni verilere daha fazla a\u011f\u0131rl\u0131k verir.  Daha yeni verilerin daha \u00f6nemli oldu\u011funu d\u00fc\u015f\u00fcnd\u00fc\u011f\u00fcm\u00fcz durumlarda tercih edilir.<\/p>\n<p><strong>\u00dcstel Hareketli Ortalama (EMA):<\/strong>  Daha yeni verilere daha fazla a\u011f\u0131rl\u0131k veren bir ba\u015fka y\u00f6ntemdir. WMA&#8217;ya g\u00f6re hesaplama y\u00f6ntemi daha karma\u015f\u0131kt\u0131r ve daha fazla a\u011f\u0131rl\u0131kland\u0131rma sa\u011flar, bu da daha h\u0131zl\u0131 tepki s\u00fcresi sunar.<\/p>\n<p>Bu makalede, \u00f6ncelikle en basit ve anla\u015f\u0131l\u0131r olan SMA&#8217;ya odaklanaca\u011f\u0131z, daha sonra di\u011fer y\u00f6ntemleri ele alaca\u011f\u0131z.<\/p>\n<p><strong>PostgreSQL&#8217;de Basit Hareketli Ortalama (SMA) Nas\u0131l Hesaplan\u0131r? (Yeni Ba\u015flayanlar \u0130\u00e7in)<\/strong><\/p>\n<p>\u00d6ncelikle, basit bir \u00f6rnek veri seti olu\u015ftural\u0131m:<\/p>\n<pre class=\"language-sql\"><code>CREATE TABLE stok_fiyatlari (\n    tarih DATE,\n    fiyat NUMERIC\n);\n\nINSERT INTO stok_fiyatlari (tarih, fiyat) VALUES\n('2024-01-20', 10),\n('2024-01-21', 12),\n('2024-01-22', 15),\n('2024-01-23', 14),\n('2024-01-24', 16),\n('2024-01-25', 18),\n('2024-01-26', 20);<\/code><\/pre>\n<p>\u015eimdi, 3 g\u00fcnl\u00fck bir SMA hesaplayal\u0131m.  Bunun i\u00e7in <code class=\"language-\">AVG()<\/code> fonksiyonu ve pencere fonksiyonlar\u0131n\u0131 kullanaca\u011f\u0131z:<\/p>\n<pre class=\"language-sql\"><code>SELECT\n    tarih,\n    fiyat,\n    AVG(fiyat) OVER (ORDER BY tarih ASC ROWS BETWEEN 2 PRECEDING AND CURRENT ROW) AS sma_3\nFROM\n    stok_fiyatlari;<\/code><\/pre>\n<p>Bu sorgu, her sat\u0131r i\u00e7in son \u00fc\u00e7 g\u00fcn\u00fcn fiyat ortalamas\u0131n\u0131 hesaplar. <code class=\"language-\">ROWS BETWEEN 2 PRECEDING AND CURRENT ROW<\/code> k\u0131sm\u0131, pencere fonksiyonunun nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 tan\u0131mlar.  <code class=\"language-\">2 PRECEDING<\/code>, mevcut sat\u0131rdan \u00f6nceki iki sat\u0131r\u0131, <code class=\"language-\">CURRENT ROW<\/code> ise mevcut sat\u0131r\u0131 i\u00e7erir.<\/p>\n<p>Sonu\u00e7, her g\u00fcn i\u00e7in 3 g\u00fcnl\u00fck hareketli ortalamay\u0131 g\u00f6sterir.  Pencere boyutunu de\u011fi\u015ftirerek (\u00f6rne\u011fin, <code class=\"language-\">ROWS BETWEEN 6 PRECEDING AND CURRENT ROW<\/code> ile 7 g\u00fcnl\u00fck SMA) farkl\u0131 periyotlar i\u00e7in hareketli ortalama hesaplayabilirsiniz.<\/p>\n<p><strong>Ger\u00e7ek Hayat \u00d6rne\u011fi: Web Sitesi Trafi\u011fi Analizi (Orta Seviye)<\/strong><\/p>\n<p>fatihsoysal.com gibi bir web sitesinin g\u00fcnl\u00fck ziyaret\u00e7i say\u0131s\u0131n\u0131 takip etti\u011fimizi varsayal\u0131m.  Bu verileri PostgreSQL&#8217;de sakl\u0131yoruz ve g\u00fcnl\u00fck ziyaret\u00e7ilerdeki trendleri analiz etmek istiyoruz.  7 g\u00fcnl\u00fck bir hareketli ortalama hesaplayarak, g\u00fcnl\u00fck dalgalanmalar\u0131 filtreleyip genel trendi daha net g\u00f6rebiliriz.<\/p>\n<p>\u00d6ncelikle, web sitesi trafik verilerini i\u00e7eren bir tablo olu\u015ftural\u0131m:<\/p>\n<pre class=\"language-sql\"><code>CREATE TABLE web_trafigi (\n    tarih DATE,\n    ziyaretci_sayisi INTEGER\n);\n--Veri ekleme i\u015flemi burada yap\u0131lacak...<\/code><\/pre>\n<p>Ard\u0131ndan, 7 g\u00fcnl\u00fck hareketli ortalamay\u0131 hesaplayan sorguyu \u00e7al\u0131\u015ft\u0131ral\u0131m:<\/p>\n<pre class=\"language-sql\"><code>SELECT\n    tarih,\n    ziyaretci_sayisi,\n    AVG(ziyaretci_sayisi) OVER (ORDER BY tarih ASC ROWS BETWEEN 6 PRECEDING AND CURRENT ROW) AS sma_7\nFROM\n    web_trafigi;<\/code><\/pre>\n<p>Bu sorgu, her g\u00fcn i\u00e7in son yedi g\u00fcn\u00fcn ziyaret\u00e7i say\u0131s\u0131n\u0131n ortalamas\u0131n\u0131 hesaplayarak, daha net bir trend analizi sa\u011flar.  Bu analiz, web sitesi trafi\u011finin zaman i\u00e7indeki geli\u015fimini anlamak ve gelecekteki stratejileri planlamak i\u00e7in kullan\u0131labilir.<\/p>\n<p><strong>PostgreSQL&#8217;de Hareketli Ortalama Optimizasyonu (Orta Seviye)<\/strong><\/p>\n<p>B\u00fcy\u00fck veri k\u00fcmeleriyle \u00e7al\u0131\u015f\u0131rken, hareketli ortalama hesaplama i\u015flemi performans sorunlar\u0131na yol a\u00e7abilir.  Performans\u0131 iyile\u015ftirmek i\u00e7in a\u015fa\u011f\u0131daki ipu\u00e7lar\u0131n\u0131 kullanabilirsiniz:<\/p>\n<p>* <strong>\u0130ndeksleme:<\/strong> <code class=\"language-\">tarih<\/code> s\u00fctununa bir indeks eklemek, sorguyu h\u0131zland\u0131racakt\u0131r.<br \/>\n* <strong>Par\u00e7alama (Partitioning):<\/strong> B\u00fcy\u00fck tablolar\u0131 par\u00e7alara ay\u0131rmak, sorgu s\u00fcresini k\u0131salt\u0131r.<br \/>\n* <strong>Materyalize G\u00f6r\u00fcn\u00fcm (Materialized View):<\/strong>  Hareketli ortalamay\u0131 \u00f6nceden hesaplay\u0131p materyalize bir g\u00f6r\u00fcn\u00fcmde saklamak, tekrarlanan hesaplamalar\u0131 \u00f6nler.  Bu, raporlama gibi s\u0131k\u00e7a kullan\u0131lan sorgulamalar i\u00e7in idealdir.<\/p>\n<p><strong>\u0130leri D\u00fczey Teknikler: A\u011f\u0131rl\u0131kl\u0131 ve \u00dcstel Hareketli Ortalamalar (\u0130leri Seviye)<\/strong><\/p>\n<p>Basit hareketli ortalama t\u00fcm de\u011ferlere e\u015fit a\u011f\u0131rl\u0131k verirken, a\u011f\u0131rl\u0131kl\u0131 hareketli ortalama daha yeni verilere daha fazla a\u011f\u0131rl\u0131k verir.  \u00dcstel hareketli ortalama ise, a\u011f\u0131rl\u0131kland\u0131rmay\u0131 \u00fcstel olarak azaltarak daha yeni verilere daha fazla \u00f6nem verir.<\/p>\n<p><strong>A\u011f\u0131rl\u0131kl\u0131 Hareketli Ortalama (WMA):<\/strong>  A\u011f\u0131rl\u0131kland\u0131rma fakt\u00f6rlerini belirlememiz gerekir. \u00d6rne\u011fin, 3 g\u00fcnl\u00fck bir WMA i\u00e7in a\u011f\u0131rl\u0131klar s\u0131ras\u0131yla 1, 2 ve 3 olabilir:<\/p>\n<pre class=\"language-sql\"><code>SELECT\n    tarih,\n    fiyat,\n    (\n        LAG(fiyat, 2, 0) OVER (ORDER BY tarih ASC) * 1 +\n        LAG(fiyat, 1, 0) OVER (ORDER BY tarih ASC) * 2 +\n        fiyat * 3\n    ) \/ 6 AS wma_3\nFROM\n    stok_fiyatlari;<\/code><\/pre>\n<p><strong>\u00dcstel Hareketli Ortalama (EMA):<\/strong>  EMA hesaplamas\u0131 daha karma\u015f\u0131kt\u0131r ve yinelemeli bir form\u00fcl kullan\u0131r.  Bu form\u00fclde, d\u00fczeltme fakt\u00f6r\u00fc (smoothing factor) \u00f6nemli bir rol oynar.  Bu fakt\u00f6r, daha yeni verilere ne kadar a\u011f\u0131rl\u0131k verilece\u011fini belirler.<\/p>\n<pre class=\"language-sql\"><code>-- EMA hesaplamas\u0131 i\u00e7in daha karma\u015f\u0131k bir SQL sorgusu gereklidir ve genellikle yinelemeli bir yakla\u015f\u0131m veya kullan\u0131c\u0131 tan\u0131ml\u0131 bir fonksiyon gerektirir.\n-- Bu k\u0131s\u0131m i\u00e7in daha detayl\u0131 bir a\u00e7\u0131klama ve \u00f6rnek kod,  https:\/\/fatihsoysal.com adresindeki ilgili makalede bulunabilir.<\/code><\/pre>\n<p><strong>Performans Analizi ve Edge Case&#8217;ler (\u0130leri Seviye)<\/strong><\/p>\n<p>B\u00fcy\u00fck veri k\u00fcmeleri \u00fczerinde hareketli ortalama hesaplamas\u0131n\u0131n performans\u0131, kullan\u0131lan y\u00f6ntem, indeksleme, par\u00e7alama ve di\u011fer optimizasyon tekniklerine ba\u011fl\u0131d\u0131r.  Performans analizi i\u00e7in <code class=\"language-\">EXPLAIN ANALYZE<\/code> komutunu kullanarak sorgu plan\u0131n\u0131 inceleyebilir ve darbo\u011fazlar\u0131 belirleyebilirsiniz.<\/p>\n<p>Edge case&#8217;ler, \u00f6rne\u011fin verinin eksik oldu\u011fu durumlar veya \u00e7ok h\u0131zl\u0131 de\u011fi\u015fimler i\u00e7eren durumlar, hareketli ortalama hesaplamalar\u0131n\u0131 etkileyebilir.  Bu durumlar\u0131 ele almak i\u00e7in veri \u00f6n i\u015fleme teknikleri (\u00f6rne\u011fin, eksik verilerin doldurulmas\u0131) kullanmak gerekebilir.<\/p>\n<p><strong>Sonu\u00e7<\/strong><\/p>\n<p>PostgreSQL&#8217;de hareketli ortalama hesaplamak, zaman serisi verilerini analiz etmek ve trendleri belirlemek i\u00e7in g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r.  Bu makalede, basit hareketli ortalamadan daha geli\u015fmi\u015f tekniklere kadar \u00e7e\u015fitli y\u00f6ntemleri ele ald\u0131k.  Veri b\u00fcy\u00fckl\u00fc\u011f\u00fcn\u00fcz ve performans gereksinimleriniz g\u00f6z \u00f6n\u00fcnde bulundurularak en uygun y\u00f6ntemi se\u00e7meniz \u00f6nemlidir.  Optimizasyon tekniklerini kullanarak b\u00fcy\u00fck veri k\u00fcmeleri \u00fczerinde bile verimli hesaplamalar yapabilirsiniz.  Unutmay\u0131n,  https:\/\/fatihsoysal.com adresindeki di\u011fer makalelerimde de veri analizi ve PostgreSQL ile ilgili daha fazla bilgi bulabilirsiniz.<\/p>\n<p><strong>S\u0131k\u00e7a Sorulan Sorular:<\/strong><\/p>\n<p>1. <strong>Hangi hareketli ortalama y\u00f6ntemi en iyisidir?<\/strong>  En iyi y\u00f6ntem, veri setinizin \u00f6zelliklerine ve analiz hedeflerinize ba\u011fl\u0131d\u0131r.  SMA basit ve anla\u015f\u0131l\u0131rd\u0131r, WMA ve EMA ise daha yeni verilere daha fazla a\u011f\u0131rl\u0131k verir.<\/p>\n<p>2. <strong>Hareketli ortalama pencere boyutu nas\u0131l se\u00e7ilir?<\/strong>  Pencere boyutu, analiz edilen verilerin do\u011fas\u0131na ve tespit edilmek istenen trendlerin frekans\u0131na ba\u011fl\u0131d\u0131r.  Daha k\u0131sa pencereler, k\u0131sa vadeli dalgalanmalara daha duyarl\u0131d\u0131r, daha uzun pencereler ise uzun vadeli trendleri daha iyi yans\u0131t\u0131r.<\/p>\n<p>3. <strong>Eksik verilerle nas\u0131l ba\u015fa \u00e7\u0131k\u0131l\u0131r?<\/strong>  Eksik veriler, hareketli ortalama hesaplamalar\u0131n\u0131 etkileyebilir.  Eksik verileri doldurmak i\u00e7in \u00e7e\u015fitli y\u00f6ntemler mevcuttur (\u00f6rne\u011fin, \u00f6nceki veya sonraki de\u011ferlerle doldurma, ortalama ile doldurma).<\/p>\n<p>4. <strong>PostgreSQL&#8217;de hareketli ortalama hesaplaman\u0131n performans\u0131n\u0131 nas\u0131l iyile\u015ftirebilirim?<\/strong>  \u0130ndeksleme, par\u00e7alama ve materyalize g\u00f6r\u00fcn\u00fcmler performans\u0131 art\u0131rabilir.<\/p>\n<p>5. <strong>A\u011f\u0131rl\u0131kl\u0131 hareketli ortalama i\u00e7in a\u011f\u0131rl\u0131klar nas\u0131l se\u00e7ilir?<\/strong>  A\u011f\u0131rl\u0131klar, analiz hedeflerine ve veri setinin \u00f6zelliklerine ba\u011fl\u0131 olarak belirlenir.  Daha yeni verilere daha fazla a\u011f\u0131rl\u0131k vermek i\u00e7in a\u011f\u0131rl\u0131klar\u0131 artan bir s\u0131ra ile se\u00e7ebilirsiniz.<\/p>\n<p>Yazar: Fatih Soysal<\/p>\n","protected":false},"excerpt":{"rendered":"# PostgreSQL&#8217;de Hareketli Ortalama Nas\u0131l Hesaplan\u0131r? (\u00d6rneklerle) PostgreSQL veritaban\u0131n\u0131zda zaman serileri verileriyle \u00e7al\u0131\u015f\u0131yorsan\u0131z, trendleri ve kal\u0131plar\u0131 tespit etmek&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[644],"tags":[],"class_list":{"0":"post-27547","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-postgresql","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>PostgreSQL&#039;de Hareketli Ortalama Hesaplama (\u00d6rneklerle)<\/title>\n<meta name=\"description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/postgresqlde-hareketli-ortalama-hesaplama-orneklerle\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PostgreSQL&#039;de Hareketli Ortalama Hesaplama (\u00d6rneklerle)\" \/>\n<meta property=\"og:description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/postgresqlde-hareketli-ortalama-hesaplama-orneklerle\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-08-15T06:15:26+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresqlde-hareketli-ortalama-hesaplama-orneklerle\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresqlde-hareketli-ortalama-hesaplama-orneklerle\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"PostgreSQL&#8217;de Hareketli Ortalama Hesaplama (\u00d6rneklerle)\",\"datePublished\":\"2025-08-15T06:15:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresqlde-hareketli-ortalama-hesaplama-orneklerle\/\"},\"wordCount\":1260,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"PostgreSQL\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/postgresqlde-hareketli-ortalama-hesaplama-orneklerle\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresqlde-hareketli-ortalama-hesaplama-orneklerle\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/postgresqlde-hareketli-ortalama-hesaplama-orneklerle\/\",\"name\":\"PostgreSQL'de Hareketli Ortalama Hesaplama (\u00d6rneklerle)\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-08-15T06:15:26+00:00\",\"description\":\"Hi\u00e7bir etiketi bulunamad\u0131.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresqlde-hareketli-ortalama-hesaplama-orneklerle\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/postgresqlde-hareketli-ortalama-hesaplama-orneklerle\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresqlde-hareketli-ortalama-hesaplama-orneklerle\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PostgreSQL&#8217;de Hareketli Ortalama Hesaplama (\u00d6rneklerle)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"PostgreSQL'de Hareketli Ortalama Hesaplama (\u00d6rneklerle)","description":"Hi\u00e7bir etiketi bulunamad\u0131.","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:\/\/fatihsoysal.com\/blog\/postgresqlde-hareketli-ortalama-hesaplama-orneklerle\/","og_locale":"tr_TR","og_type":"article","og_title":"PostgreSQL'de Hareketli Ortalama Hesaplama (\u00d6rneklerle)","og_description":"Hi\u00e7bir etiketi bulunamad\u0131.","og_url":"https:\/\/fatihsoysal.com\/blog\/postgresqlde-hareketli-ortalama-hesaplama-orneklerle\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-08-15T06:15:26+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"7 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/postgresqlde-hareketli-ortalama-hesaplama-orneklerle\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/postgresqlde-hareketli-ortalama-hesaplama-orneklerle\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"PostgreSQL&#8217;de Hareketli Ortalama Hesaplama (\u00d6rneklerle)","datePublished":"2025-08-15T06:15:26+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/postgresqlde-hareketli-ortalama-hesaplama-orneklerle\/"},"wordCount":1260,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["PostgreSQL"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/postgresqlde-hareketli-ortalama-hesaplama-orneklerle\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/postgresqlde-hareketli-ortalama-hesaplama-orneklerle\/","url":"https:\/\/fatihsoysal.com\/blog\/postgresqlde-hareketli-ortalama-hesaplama-orneklerle\/","name":"PostgreSQL'de Hareketli Ortalama Hesaplama (\u00d6rneklerle)","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-08-15T06:15:26+00:00","description":"Hi\u00e7bir etiketi bulunamad\u0131.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/postgresqlde-hareketli-ortalama-hesaplama-orneklerle\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/postgresqlde-hareketli-ortalama-hesaplama-orneklerle\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/postgresqlde-hareketli-ortalama-hesaplama-orneklerle\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"PostgreSQL&#8217;de Hareketli Ortalama Hesaplama (\u00d6rneklerle)"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/27547","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=27547"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/27547\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=27547"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=27547"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=27547"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}