Mysql Aralıklı Veri Nasıl Çekerbilirim
-
Merhaba şimi ahmet diye bir tablom var. Ben bu tabloya günlük 10 adet kayıt giriyorum tarih-saat ile bilikte kayıt giriliyor.
Ben bu verileri çekmek istiyorum fakat şöyle bir sorunum var:
Son 101 kaydı çekmek istiyorum. ama bu 101 kayıttan 10 tanesini çekmek isyiroum. Sıralama yaparsak
1-11-21-32-41-51-61-71-81-91-101
Sıralama olarak yukardaki gibi çekmek istiyorum. Ama id gidemem çünkü id ler sürekli değişiyor.
Şu an şöyle yaparak 100 veriyi çekiyorum.
SELECT * FROM ahmet WHERE kategori = 1 DESC LIMIT 100
Ama en son kaydedilen 100 veriyi veriyor. Order By ile random yapsam bu sefer rastgele veriyor. Radom yerine ne yazabilirim.
(32 neden seriyi bozdun diye sormayın bugün kandil)
-
id sıralaması doğrumu peki?
-
wert bunu yazdı
id sıralaması doğrumu peki?
sıralı gidiyor kategori numarası sabit.
-
SET @row_number = 0; select * FROM ( SELECT *,(@row_number:=@row_number + 1) AS num from ahmet where kategori = 1 ORDER BY id desc ) as a where num%10=1 limit 10;
dene bakayım olacakmı?
-
1-11-21-32-41-51-61-71-81-91-101
peki benim sormak istedigim soru da, niye 32 de 31 degil ? haksizlik degil mi ? tek derdimiz adelet !
edit:
hahaha adam cevap vermis ya lan :P pardon kardesim...
(32 neden seriyi bozdun diye sormayın bugün kandil)
garga tarafından 02/Nis/19 17:56 tarihinde düzenlenmiştir -
bir değişken oluşturulup yapılabilir aslında.
-
wert bunu yazdı
SET @row_number = 0; select * FROM ( SELECT *,(@row_number:=@row_number + 1) AS num from ahmet where kategori = 1 ORDER BY id desc ) as a where num%10=1 limit 10;
dene bakayım olacakmı?
Yemedi Reis hata:
Hata Sabit çözümleme: Çözümleme sırasında 5 hata bulundu. Beklenmedik belirteç. (near ")" at position 93) Tanınmayan anahtar kelime. (near "as" at position 95) Beklenmedik belirteç. (near "a" at position 98) Bu tür yan tümce daha önce ayrıştırıldı. (near "where" at position 100) Tanınmayan ifade türü. (near "where" at position 100) SQL sorgusu: Belgeler SELECT *,(@row_number:=@row_number + 1) AS num from ahmet where kategori = 1 ORDER BY id desc) as a where num%10=1 limit 10 MySQL çıktısı: Belgeler #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') as a where num%10=1 limit 10' at line 1
-
programlamada ilk önce bu sorguyu gerçekleştir
SET @row_number = 0;
sonra bu sorguyu gerçekleştrip denermsin (ikisini aynı satırda değil)
select * FROM ( SELECT *,(@row_number:=@row_number + 1) AS num from ahmet where kategori = 1 ORDER BY id desc ) as a where num%10=1 limit 10;
-
Hocam merhabalar elimde deneme amaçlı bir tablom vardı , daha doğrusu kendim 1m kayıt girmiştim test amaçlı. Şimdi tekrar konuya rast gelince bir bakayım dedim.
DECLARE @sayi int select @sayi = COUNT(*) FROM dbo.Musteriler // toplam satırı alması amaçlı DECLARE @sayi1 int // adım için set @sayi1= 1; WHILE @sayi1<@sayi BEGIN select MusteriID from Musteriler where MusteriID = @sayi1 set @sayi1 = @sayi1+10 // 1-11-21-31-41...... END
-
Roark bunu yazdı
Hocam merhabalar elimde deneme amaçlı bir tablom vardı , daha doğrusu kendim 1m kayıt girmiştim test amaçlı. Şimdi tekrar konuya rast gelince bir bakayım dedim.
DECLARE @sayi int select @sayi = COUNT(*) FROM dbo.Musteriler // toplam satırı alması amaçlı DECLARE @sayi1 int // adım için set @sayi1= 1; WHILE @sayi1<@sayi BEGIN select MusteriID from Musteriler where MusteriID = @sayi1 set @sayi1 = @sayi1+10 // 1-11-21-31-41...... END
Reis phpmyadminden denedim olmadı? Team versem yada
tablo adı: doviz
veri yazılacak sütun alis
kategori=1
Nasıl kurgulamalıyım.
-
x-files bunu yazdıRoark bunu yazdı
Hocam merhabalar elimde deneme amaçlı bir tablom vardı , daha doğrusu kendim 1m kayıt girmiştim test amaçlı. Şimdi tekrar konuya rast gelince bir bakayım dedim.
DECLARE @sayi int select @sayi = COUNT(*) FROM dbo.Musteriler // toplam satırı alması amaçlı DECLARE @sayi1 int // adım için set @sayi1= 1; WHILE @sayi1<@sayi BEGIN select MusteriID from Musteriler where MusteriID = @sayi1 set @sayi1 = @sayi1+10 // 1-11-21-31-41...... END
Reis phpmyadminden denedim olmadı? Team versem yada
tablo adı: doviz
veri yazılacak sütun alis
kategori=1
Nasıl kurgulamalıyım.
PM'den yaz bakalım hocam böyle yazınca bir şey anlayamadım :)