如何根据类型在mysql中对行进行分组?
问题描述:
=)我只是困扰这个问题..如何分组按照公在此输入mysql中的行是我的例子输入和输出的.. 让只想说,我在我的数据库有这些如何根据类型在mysql中对行进行分组?
|Name | address | type |
a1 add1 t_spot
c2 add2 t_acc
e3 add3 t_res
b1 add1 t_spot
d2 add2 t_acc
f3 add3 t_res
,我想按类型组,并使用PHP 让刚刚假设这将是预期的代码
<select name='all'>
<optgroup label="t_spot">
<option value=''>a1</option>
<option value=''>b1</option>
</optgroup>
<optgroup label="t_acc">
<option value=''>c1</option>
<option value=''>d1</option>
</optgroup>
<optgroup label="t_res">
<option value=''>e1</option>
<option value=''>f1</option>
</optgroup>
</select>
请帮助..thanks很多它会理解把它在选择框..
答
在您的查询中,ORDER BY type
。
然后,当读取数据时,跟踪当前的类型,并且当您看到一个变化时,您知道结束当前块并开始下一个。伪代码:
select * from table order by type
cur_type=''
while(more rows)
if (type != cur_type)
if (cur_type != '')
terminate optgroup block
start new optgroup block
write option
if (cur_type != '')
terminate optgroup block
答
你要么需要用where子句基于该类型运行多个查询:
select * from table where type = 't_spot'
select * from table where type = 't_acc'
...
,或者您需要查询所有行并根据您的代码按类型划分他们类型。循环浏览结果并将其放入用于填充HTML的单独列表中。 ORDER BY在这里可能会有所帮助,所以您可以在循环查看结果时跟踪类型的更改时间。
你想查询什么或PHP脚本?顺便说一句,你到目前为止尝试过什么? – 2012-02-08 06:42:29
显然你不是在那里创建一个mysql组... – 2012-02-08 06:54:14