sql de tarihe göre sorgu alma
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- ozlemsaltan
- Üye
- Mesajlar: 38
- Kayıt: 01 Nis 2014 05:57
sql de tarihe göre sorgu alma
arkadaşlar kolay gelsin basit bir sorum olacak belki ama ben net bir çözüm bulamadım. örneğin not adı altında bir tablom var tablonun içinde 300 kayıt var bunun 100 tanesi özlem kullanıcısının notu,100 tanesi fatmanın,75 tanesi ayşenin 25 i de velinin notu bulunmakta. Tablo da musno,nottarihi,acıklama diye alanlar var. Benim yapmak istediğim bu kullanıcıların en son girildiği tarihteki notunu görmek. özlemin bugn tarihli girilmiiş en son notunu,fatmanın 3 gün önce ki tarihli en son notunu bla bla.. bunları görmek istediğim bir sorguya ihtiyacım var. toplamda 4 tane veri dönecek bana.Yardımcı olursanız çok sevinirim. Teşekkürler
Çaylak yazılımcı:)
Re: sql de tarihe göre sorgu alma
Merhaba,
hangi sorgu yada sorguları denediniz örnek verirseniz daha hızlı sonuç alırsınız.
Autoinc bir alanınız var ise yada tarih alanının datetime ise zamana göre son girilen kaydı görüntüleyebilirsiniz.
gibi
hangi sorgu yada sorguları denediniz örnek verirseniz daha hızlı sonuç alırsınız.
Autoinc bir alanınız var ise yada tarih alanının datetime ise zamana göre son girilen kaydı görüntüleyebilirsiniz.
Kod: Tümünü seç
Select top 1 * From Tablom Where musno=1 and nottarihi ='tarih' order by nottarihi desc
veya
Select top 1 * From Tablom Where musno=1 and nottarihi ='tarih' order by ID desc
Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..
- ozlemsaltan
- Üye
- Mesajlar: 38
- Kayıt: 01 Nis 2014 05:57
Re: sql de tarihe göre sorgu alma
merhaba aslında 4 kişiyi örnek verdim binlerce kişi ve binlerce not olduğunu düşünün tabloda. ben her kişinin her notunun en son tarihli girilen kayıtlarını görmem lazım. 5000 kişinin 10000 notu olabilir toplamda bana sorgu sonucunda 5000 vermesi lazım o yüzden yukarıda ki kodlar istediğimi vermiyor.
Ben şunları denedim(isimlere sayılara takılmayınız)
SELECT DISTINCT id,sayi,isim
FROM deneme
GROUP BY id
HAVING MAX(sayi)
/////////////////////
SELECT id,sayi,isim
FROM deneme AS t
WHERE sayi =( SELECT MAX(sayi)
FROM deneme
WHERE id =t.id )
////////////
SELECT id,sayi,isim
FROM deneme d
WHERE sayi = (SELECT MAX(sayi)
FROM deneme
GROUP BY id
HAVING id =d.id);
Ben şunları denedim(isimlere sayılara takılmayınız)
SELECT DISTINCT id,sayi,isim
FROM deneme
GROUP BY id
HAVING MAX(sayi)
/////////////////////
SELECT id,sayi,isim
FROM deneme AS t
WHERE sayi =( SELECT MAX(sayi)
FROM deneme
WHERE id =t.id )
////////////
SELECT id,sayi,isim
FROM deneme d
WHERE sayi = (SELECT MAX(sayi)
FROM deneme
GROUP BY id
HAVING id =d.id);
Çaylak yazılımcı:)
Re: sql de tarihe göre sorgu alma
Kod: Tümünü seç
Select
*
From
Senin_Tablon
Where Not_Tarihi
IN
(
Select
MAX( Not_Tarihi )
From
Senin_Tablon
Group By KULLANICI_ISIMLERI_YADA_KULLANICI_IDLERI
)
Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..
- ozlemsaltan
- Üye
- Mesajlar: 38
- Kayıt: 01 Nis 2014 05:57
Re: sql de tarihe göre sorgu alma
SELECT * FROM (
SELECT MB.MUSNO,MN.NOTTRH,MN.NOTKAYNAKID,MN.ACIKLAMA,IL.ILACIKLAMA FROM musbilgi MB
LEFT OUTER JOIN ililce IL ON (IL.ILKOD = MB.ILID AND IL.ILCEKOD=MB.ILCEID)
LEFT JOIN urunbilgi UBB ON UBB.MUSNO=MB.MUSNO
LEFT JOIN musnot MN ON MN.MUSNO=MB.MUSNO
WHERE MB.SILINDI = "H"
AND UBB.AKTIF="E"
AND UBB.SOZLESMETIPID IN(1,2,3,3)
AND MN.NOTTRH= ( SELECT MAX(NOTTRH)
FROM musnot
GROUP BY MUSNO)
GROUP BY MB.MUSNO,UBB.URUNID
ORDER BY MB.MUSNO,UBB.VERSIYONID DESC
) AS kelmamut group by musno
şu şekilde uyarladım fakat hiç bir sorgu alamıyorum. nerede hatam var sizce?
SELECT MB.MUSNO,MN.NOTTRH,MN.NOTKAYNAKID,MN.ACIKLAMA,IL.ILACIKLAMA FROM musbilgi MB
LEFT OUTER JOIN ililce IL ON (IL.ILKOD = MB.ILID AND IL.ILCEKOD=MB.ILCEID)
LEFT JOIN urunbilgi UBB ON UBB.MUSNO=MB.MUSNO
LEFT JOIN musnot MN ON MN.MUSNO=MB.MUSNO
WHERE MB.SILINDI = "H"
AND UBB.AKTIF="E"
AND UBB.SOZLESMETIPID IN(1,2,3,3)
AND MN.NOTTRH= ( SELECT MAX(NOTTRH)
FROM musnot
GROUP BY MUSNO)
GROUP BY MB.MUSNO,UBB.URUNID
ORDER BY MB.MUSNO,UBB.VERSIYONID DESC
) AS kelmamut group by musno
şu şekilde uyarladım fakat hiç bir sorgu alamıyorum. nerede hatam var sizce?
Çaylak yazılımcı:)
Re: sql de tarihe göre sorgu alma
kelmamut yüzünden muhtemelen
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
- ozlemsaltan
- Üye
- Mesajlar: 38
- Kayıt: 01 Nis 2014 05:57
Re: sql de tarihe göre sorgu alma
yaaaa orasını karıştıma bi cevabın var mı peki?
Çaylak yazılımcı:)
-
- Kıdemli Üye
- Mesajlar: 1223
- Kayıt: 26 Nis 2005 04:08
Re: sql de tarihe göre sorgu alma
Mysql için;
Kod: Tümünü seç
select notu_yazan, max(not_tarihi) as not_tarihi,
(select not_iceriği from nottablosu nts where nts.not_tarihi=max(nt.not_tarihi) and
nt.musterino=nts.musteri_no limit 1) as not_iceriği from nottablosu nt
group by notu_yazan
Re: sql de tarihe göre sorgu alma
Aşağıdaki kod ile notlara tarihe göre bir sıra numarası verebiliriz. Daha sonra da SIRA_NO alanı 1 olan kayıtlarla JOIN yaparak istediğiniz sonucu alabilirsiniz. Takılırsanız yardımcı olmaya çalışırım.
Kod: Tümünü seç
SELECT
MN.MUSNO,
MN.NOTTRH,
MN.ACIKLAMA,
MN.NOTKAYNAKID,
ROW_NUMBER() OVER (PARTITION BY MN.MUSNO ORDER BY MN.MUSNO, MN.NOTTRH DESC) AS SIRA_NO
FROM
musnot MN
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
- ozlemsaltan
- Üye
- Mesajlar: 38
- Kayıt: 01 Nis 2014 05:57
Re: sql de tarihe göre sorgu alma
arkadaşlar sorunu çözdüümmm
SELECT MB.MUSNO,mn.MUSNO,mn.NOTTRH,mn.ACIKLAMA,mn.NOTKAYNAKID,IL.ILACIKLAMA,CONCAT_WS("",K.KURUMAD,S.AD," ",S.SOYAD)AS "AD"
FROM musnot mn
INNER JOIN musbilgi MB ON MB.MUSNO=mn.MUSNO
left outer join ililce IL ON (IL.ILKOD = MB.ILID)
left outer join sahis S ON S.MUSNO=mn.MUSNO
left outer join kurum K ON K.MUSNO=mn.MUSNO
LEFT JOIN urunbilgi UBB ON UBB.MUSNO=mn.MUSNO
INNER JOIN (
SELECT a.MUSNO, max(a.NOTTRH) as trh FROM musnot a
GROUP BY a.MUSNO
) AS mnn ON (mnn.MUSNO=mn.MUSNO) AND (mnn.trh = mn.NOTTRH)
WHERE MB.SILINDI = "H"
AND UBB.AKTIF="E"
AND UBB.SOZLESMETIPID IN(1,2,3,3)
group by mn.MUSNO
Cevaplarınız için teşekkür ederiiim
SELECT MB.MUSNO,mn.MUSNO,mn.NOTTRH,mn.ACIKLAMA,mn.NOTKAYNAKID,IL.ILACIKLAMA,CONCAT_WS("",K.KURUMAD,S.AD," ",S.SOYAD)AS "AD"
FROM musnot mn
INNER JOIN musbilgi MB ON MB.MUSNO=mn.MUSNO
left outer join ililce IL ON (IL.ILKOD = MB.ILID)
left outer join sahis S ON S.MUSNO=mn.MUSNO
left outer join kurum K ON K.MUSNO=mn.MUSNO
LEFT JOIN urunbilgi UBB ON UBB.MUSNO=mn.MUSNO
INNER JOIN (
SELECT a.MUSNO, max(a.NOTTRH) as trh FROM musnot a
GROUP BY a.MUSNO
) AS mnn ON (mnn.MUSNO=mn.MUSNO) AND (mnn.trh = mn.NOTTRH)
WHERE MB.SILINDI = "H"
AND UBB.AKTIF="E"
AND UBB.SOZLESMETIPID IN(1,2,3,3)
group by mn.MUSNO
Cevaplarınız için teşekkür ederiiim
Çaylak yazılımcı:)
Re: sql de tarihe göre sorgu alma
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Kodlarınızı daha düzenli yazarsanız çok faydasını görürsünüz.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Kodlarınızı daha düzenli yazarsanız çok faydasını görürsünüz.
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
- ozlemsaltan
- Üye
- Mesajlar: 38
- Kayıt: 01 Nis 2014 05:57
Re: sql de tarihe göre sorgu alma
bu kodun daha düzgün yazılmış halini gösterebilir misiniz? ne demek istediğinizi anlamadım. Hem ben de öğrenmiş olurum ) gelişmem için yardımınız dokunmuş olur. Teşekkürler
Çaylak yazılımcı:)
Re: sql de tarihe göre sorgu alma
Kod: Tümünü seç
SELECT
MB.MUSNO,
MN.MUSNO,
MN.NOTTRH,
MN.ACIKLAMA,
MN.NOTKAYNAKID,
IL.ILACIKLAMA,
CONCAT_WS("", K.KURUMAD, S.AD, " ", S.SOYAD) AS "AD"
FROM
musnot MN
INNER JOIN musbilgi MB ON (MB.MUSNO = MN.MUSNO)
LEFT OUTER JOIN ililce IL ON (IL.ILKOD = MB.ILID)
LEFT OUTER JOIN sahis S ON (S.MUSNO = MN.MUSNO)
LEFT OUTER JOIN kurum K ON (K.MUSNO = MN.MUSNO)
LEFT JOIN urunbilgi UBB ON (UBB.MUSNO = MN.MUSNO)
INNER JOIN
(SELECT
MN3.MUSNO,
MAX(MN3.NOTTRH) as trh
FROM
musnot MN3
GROUP BY
MN3.MUSNO
) AS MN2 ON (MN2.MUSNO = MN.MUSNO) AND (MN2.trh = MN.NOTTRH)
WHERE
MB.SILINDI = "H" AND
UBB.AKTIF = "E" AND
UBB.SOZLESMETIPID IN (1, 2, 3, 3)
GROUP BY
MN.MUSNO
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
- ozlemsaltan
- Üye
- Mesajlar: 38
- Kayıt: 01 Nis 2014 05:57