加入从数据库返回的相等值

时间:2014-05-28 04:37:13

标签: php mysql sql join zend-framework2

我在MySQL中使用数据库并通过PHP返回值。我正在使用Zend2框架。

我有下表:

[ID] | [Name] | [Amount]
-----|--------|---------
1    | Alex   | 10
-----|--------|---------
2    | Bruno  | 5
-----|--------|---------
3    | Miguel | 6
-----|--------|---------
4    | Ana    | 5

我需要联合画画。在这种情况下,而不是显示

enter image description here

结果应显示

enter image description here

以HTML格式显示的代码:

<?php foreach ($rows as $row) : ?>
    <tr>
        <td><?php echo ++$i; ?></td>
        <td><?php echo $this->escapeHtml($row->amount); ?></td>
        <td><?php echo $this->escapeHtml($row->name); ?></td>
        <td><img src="<?php echo $row->imageMedal($i); ?>"/></td>
    </tr>
<?php endforeach; ?>

Zend2结构没有改变。

2 个答案:

答案 0 :(得分:3)

您可以GROUP_BY数量并使用相同的Name连接amount组,然后您可以从最大值按amount排序并剪切前三行:

SELECT `amount`
     , GROUP_CONCAT(`Name` SEPARATOR ', ') AS `name`
FROM `table` 
GROUP BY `amount` 
ORDER BY `amount` DESC
LIMIT 0, 3

答案 1 :(得分:0)

@KeplerBR,这是ZF2中针对您的查询的解决方案:https://gist.github.com/settermjd/3360ccabb2b761a6ee11