mysql查询distinct,MySQL查询选择DISTINCT但显示所有行

I need help with DISTINCT. I would like to display Distinct row but display also all rows

Example this table from database:

+----+-----+-----+

|col1|col2 |col3 |

+----+-----+-----+

|A |one |two |

|A |three|four |

|A |five |six |

|B |seven|eight|

|B |nine |ten |

+----+-----+-----+

I would like the display to look like this :

A

one |two

three|four

five |six

B

seven|eight

nine |ten

Can anyone help?

解决方案

The easiest way would be to fetch all rows from the database, and then group them in PHP.

// Querying:

$query = mysql_query('select * from tbl');

$results = array(); // Store all results in an array, grouped by col1

while($row = mysql_fetch_assoc($query)) {

$col1 = $row['col1'];

// This is basically grouping your rows by col1

if(!isset($results[$col1]))

$results[$col1] = array();

$results[$col1][] = $row;

}

// Displaying:

foreach($results as $col1 => $rows) {

echo "

" . $col1 . "

";

foreach($rows as $row) {

echo $row['col2'] . "|" . $row['col3'] . "
";

}

}

Yields:

A

one |two

three|four

five |six

B

seven|eight

nine |ten

Note that I use the deprecated mysql_functions just for simplicity, do not use them in production.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值