• 24-08-2007, 09:44:23
    #1
    Arkadaşlar mySQL de aşağıdaki tablo gibi bir tablom var. (Bazı sütunları sildim)
    Neyse benim yapmak istediğim mesela en yuksek puanı almış şehirleri listelemek???

    Kod:
    CREATE TABLE `users` (
    `id` int(10) unsigned NOT NULL auto_increment,
    `nick` varchar(20) NOT NULL default '',
    `sifre` varchar(20) NOT NULL default '',
    `email` varchar(100) NOT NULL default '',
    `dogum` date NOT NULL default '0000-00-00',
    `sehir` tinyint(3) NOT NULL default '0',
    `meslek` tinyint(3) NOT NULL default '0',
    `egitim` tinyint(3) NOT NULL default '0',
    `puan` int(10) default '0',
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=12 DEFAULT CHARSET=latin5;
  • 24-08-2007, 09:53:15
    #2
    Üyeliği durduruldu
    <?php
    $sorgu = mysql_query("SELECT * FROM users ORDER BY puan DESC");
    while($row=mysql_fetch_array($sorgu)){
    $puan = $row['puan'];
    echo $puan;
    }
    ?>
    Bu şekilde sıralayabilirsin
  • 24-08-2007, 14:36:47
    #3
    Pardon yanlış anlaşıldım sanırım benim istediğim users tablosunda binlerce insan var diyelim ben bunlarda en başarılı illeri sıralamak istiyorum.

    Yani istanbuldan katılanların puanları ayrı, ankaradan katılanların puanları ayrı, ....., toplanacak ve sıralanacak.

    ????
  • 24-08-2007, 20:29:41
    #4
    $sehirler=array();
    $sorgu=mysql_query("select * from users order by id asc");
    while($veri=mysql_fetch_array($sorgu)) {
    $sehir=$veri['sehir']
    if($sehir=="")
    $sehir="Bilinmeyen";
    $sehirler[$sehir]=$sehirler[$sehir]+$veri['puan'];
    }
    mysql_free_result($sorgu);

    dediğin zman sehirler diye bi dizi içine puanları atar diye düşünüyorum
  • 25-08-2007, 18:15:17
    #5
    Saolasınız istediğim buydu:

    SELECT sehir,sum(puan)
    FROM users
    group by sehir order by puan desc