哦,忘记提醒一下了
我的hits表是按天记录的,同一天的同一篇文章公用一条记录;

解决方案 »

  1.   

    CREATE TABLE hits (
      id int(11) NOT NULL auto_increment,
      articleid int(20) NOT NULL default '0',
      hits int(20) NOT NULL default '0',
      edate int(20) NOT NULL default '0',
      PRIMARY KEY  (id)
    ) TYPE=MyISAM;
    很重要吗?
      

  2.   

    用order by sum desc不可以吗?
    select articleid,SUM(hits) as sum from hits where (edate BETWEEN $dd AND $d ) group by articleid order by sum desc limit 0,10;
      

  3.   

    select articleid,SUM(hits) as sum from hits where (edate BETWEEN $dd AND $d ) group by articleid order by sum desc limit 0,10;
    这个可以,
    select articleid,SUM(hits) as sum from hits where (edate BETWEEN $dd AND $d )  order by sum desc group by articleid limit 0,10;
    这个就报错 哈哈
    晓得咯!
    谢了,马上结帐!
      

  4.   

    晕,结了,数组排序
    If you have an array that contains output from a SQL SELECT statment and you want to sort the array on a column, you have to create a separate array containing the values of that column like so: //Get table output into $rows array 
    $result = mysql_query("SELECT field1, field2 from table"); 
    while ($rows[] = mysql_fetch_array($result)) {} //Sort on field2 
    foreach ($rows as $val) { 
          $sortarray[] = $val['field2']; 

    array_multisort($rows, $sortarray); //Now, $rows is sorted on field2 If anyone knows an easier way to do this, please let us know!