• 02-09-2008, 03:07:35
    #1
    Mysql veritabanından üyelerin doğum tarihlerini çekerken yaş olarak gruplamak istiyorum. Bunun için doğum tarihlerini hangi formatta girip nasıl bir sorgu kullanmam lazım acaba?
  • 02-09-2008, 08:24:15
    #2
    gun ay yil
    ---- --- ---
    11 03 1982

    yaparsan kolayına gelir.. her yerde kullanırsın..
  • 02-09-2008, 13:36:46
    #3
    Peki verileri çekerken yaşlara göre nasıl gruplayacağım gün-ay-yıl girdikten sonra. Onun için bir Mysql fonksiyonu var mıdır?
  • 02-09-2008, 14:20:33
    #4
    Kimlik doğrulama veya yönetimden onay bekliyor.
    ERYILMAZ dediği gibi gün ay yıl olarak tabloda sütunlara ayır.

    Verileri çekerken ise;

    $dogumyili = "1983";
    $sorgu = mysql_query("SELECT * FROM uyeler WHERE yil = '$dogumyili'");
    while ($cek = mysql_fetch_array($sorgu) {
    $kullaniciadi = $cek["kadi"];
    echo "$kullaniciadi<br>";
    }
    Burada uyeler tablosundaki kullanıcı adı sütunun ismini kadi olarak belirlediğimizi farzedersek 1983 yılında doğan üyeleri listeleyebilirsin.

    Bir sorunla karşılaşırsan tekrardan yazabilirsin.
  • 03-09-2008, 13:56:17
    #5
    Tam olarak ifade edemedim galiba. O şekilde ayırarak kaydedip sonra tarihe göre çekmeyi sormuyorum.
    Öğrenmek istediğim bir istatistik sayfası için veritabanından nasıl yaşlara göre gruplayarak veri çekeceğim.

    Örneğin veriler şu şekilde olsun:

    1.1.1980
    2.2.1980
    3.3.1984
    4.4.1985
    5.5.1985

    Sonuç:

    28 yaşında 2 kişi,
    24 yaşında 1 kişi
    23 yaşında 2 kişi

    olarak listeletmek istiyorum. PHP'de işlem yapmaya gerek kalmadan Mysql'in tarih fonksiyonlarıyla bunu sorguda gruplayarak çekebilme ihtimali var mıdır?
  • 03-09-2008, 14:46:53
    #6
    select (2008 - dogum_yili) as dogum, count(id) as tane from tablo group by dogum
  • 04-09-2008, 01:35:45
    #7
    Aykut'un verdiği sorgu üzerinde biraz çalışarak aşağıdakini elde ettim ve işimi gördü, teşekkürler.

    SELECT COUNT(`id`) AS `toplamuye`, (2008 - DATE_FORMAT(`dogumtarihi`, '%Y')) AS `yas` FROM `uyeler` GROUP BY `yas`;