Group by
Zaman:21-05-2012 13:56
Php Mysql GROUP BY
Php ile veritabanında aynı özellikteki tekrar eden bilgileri birer kere göstererek listeler.
Örnek: Ürün tablosundan en pahalı ürünleri listeletmemiz gerekiyor diyelim.
$bilgi= mysql_query("SELECT tipi, MIN(fiyat) FROM urun GROUP BY tipi); while($sutun = mysql_fetch_array($bilgi)){ echo $sutun [´tipi´]. " - ". $sutun [´MIN(fiyat)´]; }
Bu komut uygulandığında şu şekilde sonuç verir. Burada kullanılan tabloda birçok ferrari modeli olduğunu biliyoruz ama sonuçları alırken her gruptan en ucuz fiyatı olanları seçiyor.
Ferrari - 1000 ytlRenaul... Devamı
Php Mysql DISTINCT
Mysql Distinct komutu Group By komutunun değiştirilmiş versiyonudur denebilir. Belirli şarta göre tablodan seçim işlemi yapar.
örnek: Sipariş listesinden bu hafta ürün alan firmaları çekmek istiyoruz diyelim.
SELECT DISTINCT firma FROM siparis WHERE tarih BETWEEN ´12/11/09´ AND ´17/11/09´;
Bu durumda önümüze çıkan listede sadece firma isimleri liste halinde olacaktır.
... DevamıMysql ile kategorideki elemanları saydırmak
Veritabanında aynı kategoride kaç eleman olduğunu bulmak için aşağıdaki gibi bir kodlama yapabilirsiniz.
$bilgi= mysql_query("SELECT COUNT(no),kategori FROM `tablo` GROUP BY kategori");if($bilgi){ while($satir= mysql_fetch_array($bilgi)) { echo $satir["kategori"] ."-". $row["COUNT(no)"] ."<br>"; }}
sonuç:
Etek-45Pantolon-12Gömlek-93Çorap-23
... DevamıMysql AVG
Mysql AVG fonksiyonu : Php ile Veritabanında ortalama almak için kullanılır.
Örnek: Sınıftaki öğrencilerin not ortalamasını alacağız:
$bilgi = mysql_query("SELECT AVG(not) FROM ogrenciler");if($bilgi){ $satir = mysql_fetch_array($bilgi); echo "Ortalama:" . $satir[0];}else{ echo "Veritabanında not bulunamadı";}
Sonuç:Ortalama 4,56Örnek 2: Sınıftaki kızların ve ve erkeklerin not ortalamasını alacağız:
$bilgi = mysql_query("SELECT cinsiyet,AVG(not) FROM ogrenciler GROUP BY cinsiyet");if($bilgi){ while($satir = mysql_fetch_array($bilgi)) ... Devamıacil arkadaşlar lütfen
$dizi_soru=mysql_query("select model from siparis_kimlik where firma_no='$firma_no' group by 'model' " ); while ($dizi_cevap=@mysql_fetch_array($dizi_soru)) { $dizi= array("$dizi_cevap[model];"); }
while döngüsünde databaseden bilgileri çekip bir dizinin içine akatarmak istiyorum. yardımcı oulrmusunuz
... DevamıFiyat Hesaplama
arkadaşlar eklemiş olduğum ürünlerin fiyatını php mysql veri tabanına girdim fiyat hesaplama yapmak istiyorum nasıl yaparım?
Veri Tabanı Tablom aşağıdaki gibi:
CREATE TABLE IF NOT EXISTS `urun_karti` (
`urun_id` int(11) NOT NULL auto_increment,
`kat_id` varchar(11) NOT NULL,
`urun_adi` varchar(250) NOT NULL,
`urun_ozellik` varchar(500) NOT NULL,
`seri_no_key` varchar(250) NOT NULL,
`mac` varchar(250) NOT NULL,
`adet` varchar(10) NOT NULL,
`usd` decimal(15,2) NOT NULL,
`tl` decimal(15,2) N... Devamı
Gruplamada Sorun Var
Arkadaşlar merhaba.Ana kategori ve alt kategori oluşturdum ve bağlamayı becerdim ama bunları gruplayamadım.
Inner join ve sonuna group by koyunca, anakategoriyi ve sadece altkategorinin 1inci satırını çıkarıyor.2. satırı okumuyor.Örnek
Ekran Kartiasusfanfan120aKlavyea4tech
eğer inner join ve sonuna order by koyarsam alttaki gibi bu sefer her kategori tekrar ediyor.Ör:
Ekran Kartiasus
Ekran Karti
Geforce
fan
sony fan
fan
beko fan.
Amacım alttaki kodu öyle bir şekilde yazmam lazım ki şöyl... Devamı
toplam kayıt sayısını büyükten küçüğe doğru sıralama
selam arkadaşlar yazmış olduğum sayac scriptime ek olarak şimdiye kadar tarihe göre kaç defa girilmiş ve kaç defa o tarihte toplam tıklama yakın tarihden ilk tarihe doğru sıralıyor saydırmayı.
tarih - ogüngirilen iplerin toplam sayısı - iplerin tıklama toplamı
echo '<table>';$sorgu = mysql_query("SELECT tarih, COUNT(id) as count FROM ip_sayaci GROUP BY tarih ORDER BY tarih DESC ");while ($kayit=mysql_fetch_array($sorgu)) {$b = mysql_query("SELECT * FROM ip_sayaci WHERE tarih='$kayit[tarih]'");$sql = mysql_query("SELECT SUM(tiklama) FROM ip_sayaci WHERE tarih='$kayit... Devamı
www.Phpkodlari.com © 2009 Herkes Php öğrenecek
Web tasarım ve eğitim kaynağınız.