Mysql'de sorgu içinde sorgu işlemi
Çoğumuz PHP veya javascript gibi dillerde bir MySQL sorgusunu for içine alıp döndürdükçe döndürüyoruz.
Peki verimliliğin tartışıldığı şu esnada çözüm olarak nasıl bir MySQL sorgusu yazabilirdiniz;
Tablomda kullanıcılar için hazırladığım örnek bir "userKey" yapısı aşağıdaki tabloda var;
Uye | userKey |
---|---|
Üye 1 | mT_0FrncAGLQM-V2QaDnc8m_SZ3OX92bHvRS |
Üye 2 | 5d3SOYwxa9-YYCS5FRZaQOGm6xh62T8phFyML |
Buradan da anlaşılıyor ki tüm userKey'ler random halde gelmekte...
Küçük bir soru da burada yapıştırayım: PHP'de Random diye bir şey var mıdır??? (10:27)
Konu bazımız için önemli olabilir
Gelelim asıl soruya:
SELECT
id, userKey,
FROM
users
WHERE
userKey = '....herhangi bir sıradaki randomKey....'
ORDER BY
id
LIMIT
(buraya bir sorgu gelecek ve aynı tablodan dönen ID değeri x olsun),
x+50
Ben bu şekilde random key üzerinden ilerlerdiğim yapıda LIMIT kısmının başlangıç ID'sini MySQL içinde bana döndürecek, ben de o ID'ye sahip değeri x diye atanan yere atayıp belli bir alandaki datayı çekebileceğim gibi düşünün...
Mantığı belki basittir fakat benim kurgulayamadığım bir gerçek. 😅
Yardımcı olursanız sevinirim.
Key değeri yerine id değerini alamıyorum. Sorunu aslında kullanıcılar tablosunda vermeye çalıştım ama orijinalinde bu tablo mesajlar için listeleniyor. Kullanıcıya key değerini verip sonra geri almam gereken bir konu var. Mesajların listelemesi de bildiğiniz üzere ters yapıda.
Jquery ile div içerisinde bulununan mesajlardan en tepedeki dive atadığım son key değerini alıp üstte mesaj var mı yok mu onu sorgulatmak için hazırladığım bir SQL sorgusuydu. Dün cevapladım fakat LIMIT değerinin myqsl değişkeni kabul etmemesinden ötürü yine çözümsüz bir soru olarak kaldı...