SELECT * , count(`order_id`)  FROM (SELECT `number` , `account` , `order_id` , date(`upload_date`) 
 FROM `1_sale_orders` 
 WHERE date( `upload_date` ) >= '$startdate' AND date( `upload_date` ) <= '$enddate'
 GROUP BY `order_id` ) t 
 GROUP BY `number`  
 ORDER BY  `account` ASC请问这个我怎么排序date(`upload_date`)字段??

解决方案 »

  1.   

    都按照number分组了 date(`upload_date`)只能取每组max,min,sum,count  然后再排序
      

  2.   

    SELECT `number` , `account` , `order_id`, `ud`, count(`order_id`)  FROM (SELECT `number` , `account` , `order_id` , date(`upload_date`) as ud 
      FROM `1_sale_orders` 
      WHERE date( `upload_date` ) >= '$startdate' AND date( `upload_date` ) <= '$enddate'
      GROUP BY `order_id` ) t 
      GROUP BY `number`  
      ORDER BY  `ud` ASC
      

  3.   

    SELECT * , count(`order_id`)  FROM (SELECT `number` , `account` , `order_id` , date(`upload_date`) 
     FROM `1_sale_orders` 
     WHERE date( `upload_date` ) >= '$startdate' AND date( `upload_date` ) <= '$enddate'
     GROUP BY `order_id` ) t 
     GROUP BY `number`  
     ORDER BY  4 ASC