Merhaba,
MySQL sütununa göre döngü oluşturmak istiyorum. Nasıl yapabilirim acaba? Bir yöntem biliyorum ancak ayrı ayrı kod olmadanda hallolabileceğini düşünüyorum.
Şöyle ki,
"veriler" diye bir tablomuz olsun.
"sembol, fiyat, borsa" diye sütunlar olsun.
Ben şöyle listeletmek istiyorum,
Sembol: BTC
ID: 1, Fiyat: 40000, Borsa: BTCTurk
ID: 2, Fiyat: 40000, Borsa: Paribu
Sembol: XRP
ID: 3, Fiyat: 2, Borsa: BTCTurk
ID: 4, Fiyat: 2, Borsa: Paribu
Yani aynı olan "sembol" sütunu verileri tek bir başlık altında (Sembol: BTC), nasıl gösterebilirim?
Normal veri çekme işlemini WHERE sembol='BTC' yapıp olabilir tabii, ancak bu sefer kodu sürekli çoğaltmam gerekicek.
Bunu direk otomatik oluşturmanın yolu var mıdır?
MySQL sütununa göre döngü oluşturmak?
5
●315
- 02-06-2018, 15:14:32sembole gore gurupla
https://dev.mysql.com/doc/refman/8.0...modifiers.htmlVin adlı üyeden alıntı: mesajı görüntüle - 02-06-2018, 15:25:08Gruplama yapabilirsiniz.
https://www.w3schools.com/sql/sql_groupby.asp - 02-06-2018, 17:59:41Yalnız anladığım kadarıyla GROUP BY tekrarlanmayı önlüyor.
İki tane sembol='BTC' var ise, yalnızca 1 tane gösteriyor.
Benim yapmaya çalıştığım verileri çekerken 3 tane BTC var ise; BTC: 1,2,3. şeklinde sıralamak. 2 tane XRP var ise tekrar alta geçip, XRP: 1,2. şeklinde sıralamak. - 02-06-2018, 23:35:24İstediğini yapmanın birçok farklı yolu olabilir;
- Yol - Sürekli veritabanına sorgu çekerek;
- İlk olarak aşağıdaki gibi bir sorguyla, tabloda bulunan sembolleri alırsın. Daha sonra da aldığın semboller için "for" veya "foreach" döngüsü oluşturursun.
SELECT DISTINCT(sembol) FROM veriler
- Her sembol için veritabanından tekrar sorgulama yaparak, fiyat, borsa ve id bilgilerini istediğin şekilde çeker ve o satırları yazdırmak içinde ilk oluşturduğumuz döngünün içine bir tane daha "for" veya "foreach" döngüsü oluşturursun.
- İlk olarak aşağıdaki gibi bir sorguyla, tabloda bulunan sembolleri alırsın. Daha sonra da aldığın semboller için "for" veya "foreach" döngüsü oluşturursun.
- Yol - Tek sorguda bitirmek.
- Veritabanından tüm verileri sembol ve id ye göre "order by" yaparak çekersin. Böylece her sembol ait satırlar bir arada olmuş olur.
- Bu sefer tüm kayıtlar için tek bir döngü çalıştırırsın.
- Aynı zamanda döngü dışında $son_sembol gibi bir değişken tanımlarsın.
- Döngü içerisinde $son_sembol ile o anda aldığın satırın sembol sütununu karşılaştırırsın.
- Farklı ise, önceki sembolün kapanışını ve yeni sembolün başlangıç çıktılarını ekrana yazdırırsın.
- son olarakta $son_sembol'u de yeni sembolle değiştirirsin.
veya 2. yoldaki gibi yine tek seferde verileri çeker, sembollere göre dizilerde toplar, en sonra çıktı verirsin. - Yol - Sürekli veritabanına sorgu çekerek;