Sorguda count distinct nasıl yapabilirim? - Baskı Önizleme +- AccessTr.neT (https://accesstr.net) +-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html) +--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html) +--- Konu Başlığı: Sorguda count distinct nasıl yapabilirim? (/konu-sorguda-count-distinct-nasil-yapabilirim.html) |
Sorguda count distinct nasıl yapabilirim? - Hakan - 17/12/2008 Merhabalar, Quary de alt alta gelen mükerrer rakamların count edilmesini yapmak için kullandıgım komut bu "count(distinct Main.FisNo) AS CountOfFisNo INTO gunluk" fakat bir türlü beceremedim. Örnek resim üzerinde anlatmaya calistim yardımcı olursanız sevinirim. iyi çalışmalar, Cvp: Sorguda count distinct nasıl yapabilirim? - syrup - 17/12/2008 sevgili hakan şu şekilde dene select count(fis) from(select distinct fis from main) as syrup Cvp: Sorguda count distinct nasıl yapabilirim? - Hakan - 17/12/2008 (17/12/2008, 17:28)syrup yazdı: sevgili hakan şu şekilde dene Sayın syrup, Cevabınız icin teşekkür ederim. ama olmadı.. Ben Sql kodunu komple yazayım, birde o şekilde göz atın belki ben yanlış yapmış olabilirim. SELECT Main.SatisTarihi, [Magaza Kodlari].Zone, [Magaza Kodlari].Area, [Magaza Kodlari].Shops, Sum(Main.HasilatFisUzerindeki) AS SumOfHasilatFisUzerindeki, Sum(Main.SatisAdedi) AS SumOfSatisAdedi, IIf([Main]![MalKodu]>1000 And [Main]![MalKodu]<9999999,"CIGARETTE"," ") & IIf([Main]![MalKodu]>10000000 And [Main]![MalKodu]<19999999,"SPIRITS"," ") & IIf([Main]![MalKodu]>20000000 And [Main]![MalKodu]<29999999,"CHOCOLATE"," ") & IIf([Main]![MalKodu]>30000000 And [Main]![MalKodu]<39999999,"PERFUME"," ") & IIf([Main]![MalKodu]>40000000 And [Main]![MalKodu]<44999999,"MAKEUP"," ") & IIf([Main]![MalKodu]>45000000 And [Main]![MalKodu]<49999999,"SKINCARE"," ") & IIf([Main]![MalKodu]>50000000 And [Main]![MalKodu]<89999999,"ACCESSORY/TOYS"," ") & IIf([Main]![MalKodu]>90000000 And [Main]![MalKodu]<2900000000,"OTHERS/SOUVENIR"," ") AS [Group], Sum(IIf([Main]![SatisTarihi]>=#1/1/2008# And [Main]![SatisTarihi]<=#12/31/2008#,[Main]![HasilatFisUzerindeki],0)) AS 2008, Sum(IIf([Main]![SatisTarihi]>=#1/1/2007# And [Main]![SatisTarihi]<=#12/31/2007#,[Main]![HasilatFisUzerindeki],0)) AS 2007, count(distinct Main.FisNo) AS CountOfFisNo INTO gunlukFROM ([Magaza Kodlari] INNER JOIN Main ON [Magaza Kodlari].Code = Main.MagazaKodu) LEFT JOIN Milliyettablosu ON Main.MusteriBilgisiMiliyeti = Milliyettablosu.[Musteri No] GROUP BY Main.SatisTarihi, [Magaza Kodlari].Zone, [Magaza Kodlari].Area, [Magaza Kodlari].Shops, IIf([Main]![MalKodu]>1000 And [Main]![MalKodu]<9999999,"CIGARETTE"," ") & IIf([Main]![MalKodu]>10000000 And [Main]![MalKodu]<19999999,"SPIRITS"," ") & IIf([Main]![MalKodu]>20000000 And [Main]![MalKodu]<29999999,"CHOCOLATE"," ") & IIf([Main]![MalKodu]>30000000 And [Main]![MalKodu]<39999999,"PERFUME"," ") & IIf([Main]![MalKodu]>40000000 And [Main]![MalKodu]<44999999,"MAKEUP"," ") & IIf([Main]![MalKodu]>45000000 And [Main]![MalKodu]<49999999,"SKINCARE"," ") & IIf([Main]![MalKodu]>50000000 And [Main]![MalKodu]<89999999,"ACCESSORY/TOYS"," ") & IIf([Main]![MalKodu]>90000000 And [Main]![MalKodu]<2900000000,"OTHERS/SOUVENIR"," ") HAVING (((Main.SatisTarihi)>=#1/1/2008# And (Main.SatisTarihi)<=#12/15/2008#)) OR (((Main.SatisTarihi)>=#1/1/2007# And (Main.SatisTarihi)<=#12/15/2007#)); Cvp: Sorguda count distinct nasıl yapabilirim? - syrup - 17/12/2008 hakan bu sorguda, önceki sorgunun çıkan sonucu baz alınarak gerekli sayıyı alırız. select count(fis) from (select distinct fis from (SELECT Main.SatisTarihi, [Magaza Kodlari].zone, [Magaza Kodlari].area, [Magaza Kodlari].shops, Sum(Main.HasilatFisUzerindeki) AS SumOfHasilatFisUzerindeki, Sum(Main.SatisAdedi) AS SumOfSatisAdedi, IIf(Main!MalKodu>1000 And Main!MalKodu<9999999,"CIGARETTE"," ") & IIf(Main!MalKodu>10000000 And Main!MalKodu<19999999,"SPIRITS"," ") & IIf(Main!MalKodu>20000000 And Main!MalKodu<29999999,"CHOCOLATE"," ") & IIf(Main!MalKodu>30000000 And Main!MalKodu<39999999,"PERFUME"," ") & IIf(Main!MalKodu>40000000 And Main!MalKodu<44999999,"MAKEUP"," ") & IIf(Main!MalKodu>45000000 And Main!MalKodu<49999999,"SKINCARE"," ") & IIf(Main!MalKodu>50000000 And Main!MalKodu<89999999,"ACCESSORY/TOYS"," ") & IIf(Main!MalKodu>90000000 And Main!MalKodu<2900000000,"OTHERS/SOUVENIR"," ") AS [Group], Sum(IIf(Main!SatisTarihi>=#1/1/2008# And Main!SatisTarihi<=#12/31/2008#,Main!HasilatFisUzerindeki,0)) AS 2008, Sum(IIf(Main!SatisTarihi>=#1/1/2007# And Main!SatisTarihi<=#12/31/2007#,Main!HasilatFisUzerindeki,0)) AS 2007, Main.fis, Main.fisno FROM ([Magaza Kodlari] INNER JOIN Main ON [Magaza Kodlari].code = Main.MagazaKodu) LEFT JOIN Milliyettablosu ON Main.MusteriBilgisiMiliyeti = Milliyettablosu.[Musteri No] GROUP BY Main.SatisTarihi, [Magaza Kodlari].zone, [Magaza Kodlari].area, [Magaza Kodlari].shops, IIf(Main!MalKodu>1000 And Main!MalKodu<9999999,"CIGARETTE"," ") & IIf(Main!MalKodu>10000000 And Main!MalKodu<19999999,"SPIRITS"," ") & IIf(Main!MalKodu>20000000 And Main!MalKodu<29999999,"CHOCOLATE"," ") & IIf(Main!MalKodu>30000000 And Main!MalKodu<39999999,"PERFUME"," ") & IIf(Main!MalKodu>40000000 And Main!MalKodu<44999999,"MAKEUP"," ") & IIf(Main!MalKodu>45000000 And Main!MalKodu<49999999,"SKINCARE"," ") & IIf(Main!MalKodu>50000000 And Main!MalKodu<89999999,"ACCESSORY/TOYS"," ") & IIf(Main!MalKodu>90000000 And Main!MalKodu<2900000000,"OTHERS/SOUVENIR"," "), Main.fis, Main.fisno HAVING (((Main.SatisTarihi)>=#1/1/2008# And (Main.SatisTarihi)<=#12/15/2008#)) OR (((Main.SatisTarihi)>=#1/1/2007# And (Main.SatisTarihi)<=#12/15/2007#))) as syrup) as hakan Cvp: Sorguda count distinct nasıl yapabilirim? - Hakan - 17/12/2008 Sayın Syrup, Evime geldim yarın iş yerinden deniyip cvp atacağım. çok teşekkür ederim. Cvp: Sorguda count distinct nasıl yapabilirim? - esrefigit - 17/12/2008 fisno 11 11 588 588 588 588 456 45 456 457 457 457 500 bu şekilde tabloya girilmiş veriyi bu sorgu SELECT Tablo1.fisno FROM Tablo1 GROUP BY Tablo1.fisno HAVING (((Tablo1.fisno) In (SELECT [fisno] FROM [Tablo1] As Tmp GROUP BY [fisno] HAVING Count(*)>=1 ))); fisno 11 45 456 457 500 588 bu şekilde verir yani her kaydın yalnız birini verir dolayısı ile saymış olursun |