mysql 分组查询

一根烟的寂寞 发布于 2013/11/16 13:11
阅读 824
收藏 0

现在遇到了一个问题(查询问题)

我的表结构是这样的

id        title       typeid   adddate

文章ID 文章标题 分类ID  添加时间

现在页面展示要这样的效果

1(类别ID)
文章标题1  时间
文章标题1  时间
文章标题1  时间
2(类别ID)
文章标题2  时间
文章标题2  时间
3(类别ID)
文章标题3  时间
文章标题3 时间
4(类别ID)
文章标题3  时间
文章标题3 时间

如何实现这种查询??感觉mysql一条语句搞不定 ,难道要循环查询吗?那样的话岂不是效率很低呢 求解。。。。

加载中
1
LucEsape
LucEsape
SELECT * FROM tb_name ORDER BY typeid;
0
mark35
mark35

可以试试 ORDER BY 类别ID 

SELECT * FROM tbl ORDER BY typeid, adddate


mark35
mark35
回复 @郭煜 : 看错了。呵呵
乌龟壳
乌龟壳
回复 @mark35 : 这是回复一根烟的
mark35
mark35
回复 @一根烟的寂寞 : 你搞笑吧。你说说SELECT * FROM tbl和SELECT * FROM tbl ORDER BY typeid在结果上会有啥区别?搞不懂为啥mysqler总是能遇到各式各样稀奇古怪的问题
mark35
mark35
回复 @郭煜 : 我哪里说过要聚合数据了的呢。只用ORDER BY typeid让所有数据按照typeid排序输出,然后在应用程序中处理呗
乌龟壳
乌龟壳
回复 @一根烟的寂寞 : order by 不可能聚合数据的,你这要么查询写得有问题,要么数据确实只有一条。
下一页
0
你若安好
你若安好
可以先查分类然后根据分类id查询
你若安好
你若安好
回复 @一根烟的寂寞 : 实用最好能简单做就简单处理不要搞太复杂不然到时候很难维护!分开写简单易懂!
一根烟的寂寞
一根烟的寂寞
如果有很多个分类那不是要查询很多次吗??
0
king1990_cool
king1990_cool

order by typeid 之后

使用循环 mark住每一条里面的typeid 如果前一个typeid和当前typeid不一致 显示分类

信息

一次sql就可以了

0
番茄12
番茄12

用联合加限制条件不可以吗  (UNION ALL+WHERE)


0
番茄12
番茄12
排序+分组:SELECT title,adddate FROM table_name ORDER BY tipeid GROUP BY title;
返回顶部
顶部