在groupon-by中选择top 3的单个MySQL查询?

时间:2013-04-18 19:34:40

标签: mysql

我有一个表格交易,列是名称,金额,分部,类别。 对于每个分类类别组合,我想找到最大金额的前3个条目。 最终结果应采用以下格式:名称,分部,类别。

1 个答案:

答案 0 :(得分:0)

   $db = new PDO($hostname,$username,$password);
   $query = 'Select name, division, category 
     From deals Where division = :division And category = :category 
     ORDER BY amount DESC Limit 3';

然后创建所有分区和类别的数组并循环它们:

$top3s = array();
foreach($divisionArray as $division)
{
  foreach($categoryArray as $category)
  {
    $statement = $db->prepare($query);
    $statement->bindValue(':division', $division);
    $statement->bindValue(':category', $category);
    $statement->execute();
    $top3 = $statement->fetch(PDO::FETCH_ASSOC);
    $statement->closeCursor();

    array_push($top3s, $top3);
  }
}
print_r $top3s;