none
Aylık 1 0 oranını hesaplama RRS feed

  • Soru

  • Merhaba,

    Bana göre karmaşık bir sorgu hakkında yardımlarınıcı rica edeceğim.

    Aşağıda sorgumuz ve gelen sonuç bulunmakta, (sonuç daha uzun ama ben sadece bir tane terminalin datasını ekledim)

    MONEY_SUPPLY=1 Para var MONEY_SUPPLY=0 Para yok demek, bu mesajlar da talep edildikçe geldiği için bir düzeni bulunmuyor, yani bir kaç gün 0 geliyor sonra 1 geliyor.

    Bir terminalin 1 ay boyunca ne kadar süre ile para var ve yok olduğu oranını nasıl çıkartabilirim?

    Teşekkürler

    SELECT 
    A.TERMINAL_ID,
    A.MONEY_SUPPLY,
    convert(varchar(16),A.UPDATE_DATE,120) AS UPDATE_DATE
    
    FROM ATM.ATM.ATM_SUPPLY_LOG A (NOLOCK)
    
    
    where A.TERMINAL_ID LIKE 'PT%'
    AND A.UPDATE_DATE BETWEEN '20220101' AND '20220201' 
    
    
    ORDER BY A.TERMINAL_ID,A.UPDATE_DATE ASC

    25 Ağustos 2022 Perşembe 09:05

Tüm Yanıtlar

  • Bu 3 kolonu group by ile kullanın, ama tarih alanını date e convert edin. Bir  de count alın. 

    Not: Tarih alanı nvarchar kullanmak hatalı bir tercihtir, ileride sorun olabilir. Yapabiliyorsanız sqlde yer alan tarih tiplerinden birisinde saklayın. smalldatetime işinizi görür gibi. 

    Altan Özdemir

    25 Ağustos 2022 Perşembe 09:48
  • Teşekkürler,

    smalldatetime'ı gibi düzelttim ancak 1 ve 0 oranını nasıl alabilirim anlayamadım, 1 ayda ne kadar süre 1 ne kadar süre 0 olduğunun oranına ihityacım var.

    MONEY_SUPPLY=1 Para var MONEY_SUPPLY=0 Para yok demek, bu mesajlar da talep edildikçe geldiği için bir düzeni bulunmuyor, yani bir kaç gün 0 geliyor sonra 1 geliyor.

    Bir terminalin 1 ay boyunca ne kadar süre ile para var ve yok olduğu oranını nasıl çıkartabilirim?

    SELECT 
    A.TERMINAL_ID,
    A.MONEY_SUPPLY,
    convert(smalldatetime,A.UPDATE_DATE,120) AS UPDATE_DATE
    
    FROM ATM.ATM.ATM_SUPPLY_LOG A (NOLOCK)
    
    
    where A.TERMINAL_ID LIKE 'PT%'
    AND A.UPDATE_DATE BETWEEN '20220101' AND '20220201' 
    
    
    ORDER BY A.TERMINAL_ID,A.UPDATE_DATE ASC

    25 Ağustos 2022 Perşembe 12:00
  • Group by ile, örnek veri ve tablo create scripti bırakırsanız kod ile yardımcı olabilirim


    Altan Özdemir

    25 Ağustos 2022 Perşembe 12:13