我在 MySQL 中使用数据库并通过 PHP 返回值。我正在使用 Zend2 框架。
我有下表:
[ID] | [Name] | [Amount]
-----|--------|---------
1 | Alex | 10
-----|--------|---------
2 | Bruno | 5
-----|--------|---------
3 | Miguel | 6
-----|--------|---------
4 | Ana | 5
我需要联合抽签。在这种情况下,而不是显示
应该显示结果
在 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 结构没有改变。
最佳答案
您可以GROUP_BY
数量,并在具有相同数量
的组中连接名称
,然后您可以按数量
排序code> 从最大值中截取前三行:
SELECT `amount`
, GROUP_CONCAT(`Name` SEPARATOR ', ') AS `name`
FROM `table`
GROUP BY `amount`
ORDER BY `amount` DESC
LIMIT 0, 3
关于php - 连接从数据库返回的相等值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23902928/