lostyazilim
tr.link

Mysql şartlı çekilen veri üzerinde matematiksel işlem?

4 Mesajlar 911 Okunma
acebozum
tr.link

pressok pressok WM Aracı Kullanıcı
  • Üyelik 23.05.2017
  • Yaş/Cinsiyet 43 / E
  • Meslek Bilgi İşlem
  • Konum İstanbul Avrupa
  • Ad Soyad Y** K**
  • Mesajlar 13
  • Beğeniler 3 / 3
  • Ticaret 0, (%0)
Merhaba;

SELECT
....
FORMAT(SUM(IF(YEARWEEK(satis.IslemTarihi) = 201649, satis.SatisAdedi, 0)),1) AS 49Hf,
FORMAT(SUM(IF(YEARWEEK(satis.IslemTarihi) = 201650, satis.SatisAdedi, 0)),1) AS 50Hf,
FORMAT(SUM(IF(YEARWEEK(satis.IslemTarihi) = 201651, satis.SatisAdedi, 0)),1) AS 51Hf,
FORMAT(SUM(IF(YEARWEEK(satis.IslemTarihi) = 201652, satis.SatisAdedi, 0)),1) AS 52Hf,
FORMAT((((SUM(IF(YEARWEEK(satis.IslemTarihi) = 201652, satis.SatisAdedi, 0)) / SUM(IF(YEARWEEK(satis.IslemTarihi) = 201651, satis.SatisAdedi, 0))) - 1) * 100),1) AS '% fark'


bu sorgunun son satırında 52Hf nin 51Hf ye olan varyantını hesaplatıyorum ama zaten belli bir formata göre hesaplanmış veriyi tekrar hesapladığı için işlem uzun sürüyor. Bunun daha daha pratik bir yolu var mıdır?

Mesela sorguya isim atadıktan sonra onunla şuna benzer şekilde oynayabilir miyim?
FORMAT((((52Hf / 51Hf)-1)*100),1) AS '% fark'
 

 

elektronikssl
webimgo

ecarpar ecarpar WM Aracı Kullanıcı
  • Üyelik 18.04.2014
  • Yaş/Cinsiyet 43 / E
  • Meslek bilişim ve e-ticaret uzmanı
  • Konum İstanbul Anadolu
  • Ad Soyad E** C**
  • Mesajlar 317
  • Beğeniler 23 / 90
  • Ticaret 0, (%0)
mysql üzerinde yapma işlemi, çek sonra dışarıda php asp, artık hangi dili kullanıyor isen onunla işlem yaptır.
 

 

pressok pressok WM Aracı Kullanıcı
  • Üyelik 23.05.2017
  • Yaş/Cinsiyet 43 / E
  • Meslek Bilgi İşlem
  • Konum İstanbul Avrupa
  • Ad Soyad Y** K**
  • Mesajlar 13
  • Beğeniler 3 / 3
  • Ticaret 0, (%0)
onu denedim ama dil node js olduğundan asenkron sorunu yaşadım ve bir türlü içinden çıkamadım. Tablo da pivot tablo olduğu için kayıtlar aşağı doğru değilde sola doğru listeleniyor. bu yüzden çıktıdan sonra oynamak benim için zor. Sağol yinede
 

 

ByEBA ByEBA WM Aracı Kullanıcı
  • Üyelik 20.02.2017
  • Yaş/Cinsiyet 33 / E
  • Meslek Yazılım uzmanı
  • Konum Ankara
  • Ad Soyad E** E**
  • Mesajlar 3
  • Beğeniler 2 / 0
  • Ticaret 0, (%0)
Select *,FORMAT((((52Hf / 51Hf)-1)*100),1) AS '% fark' from (
SELECT
....
FORMAT(SUM(IF(YEARWEEK(satis.IslemTarihi) = 201649, satis.SatisAdedi, 0)),1) AS 49Hf,
FORMAT(SUM(IF(YEARWEEK(satis.IslemTarihi) = 201650, satis.SatisAdedi, 0)),1) AS 50Hf,
FORMAT(SUM(IF(YEARWEEK(satis.IslemTarihi) = 201651, satis.SatisAdedi, 0)),1) AS 51Hf,
FORMAT(SUM(IF(YEARWEEK(satis.IslemTarihi) = 201652, satis.SatisAdedi, 0)),1) AS 52Hf
)
Bu şekilde deneyebilirsin
 

 

wmaraci
wmaraci
wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al