mySQL排序问题:通讯录相同名字并排其它按拼音排列

来源:百度知道 编辑:UC知道 时间:2024/06/30 17:05:07
mySQL碰到难题了,通讯录问题如下:
方案1.文章列表排列,相同名字排一起,其它按ID排
方案2.文章列表排列,相同名字排一起,其它按拼音首字母排(重点)
-------
有没有解决方案,数据以录入,没有拼音字段,能不能在原有的基础上实些上面的功能,第一二个功能都可以,谢谢!
a5202003 说的 "直接order by 汉字字段 就ok" 可是我不是搜索啊~而且分页数据列表,也就是通讯录名字排列的列表,像新闻系统的新闻列表.不知您明白我意思没? 而且里面重复的名字不上一个啊,
搜索到好办,直接"like 李_" "like 张_" 什么的,但是现在是要把表里面所有的相同名字都靠一起排列其它按ID或拼音.
比如:数据有 1张一民 2李鹏 3刘小明 4刘邦 5罗秀秀 6禇天庆 7李鹏 8张一民
要达到这种效果:1张一民 8张一民 2李鹏 7李鹏 3刘小明 4刘邦 5罗秀秀 6禇天庆
-------------------------------
loveyurui 说:"其实也就是按姓名排序。数据库默认以汉字拼音排序 "是不是order by id 默认按拼音排怎么写法
按ID好像不通啊,比如说ID 1是Zhang 张 ..... 5.zhang 那默认排怎么写啊
----------------------------------
在线等~~~谢谢各位!~

ID排 应该很容易吧

拼音首字母 :
其实也就是按姓名排序。数据库默认以汉字拼音排序

补充:
排序的话
order by 姓名,id
这样行吗?
是以姓名拼音排序,如果相同的名字会排在一起,且再按ID排序
也就是说
1 张三
2 张亿
3 张三

排序后是这样的
张三 1
张三 3
张亿 2

不需要拼音。
只要按汉字排序,数据库会自动给你按拼音排序。
直接order by 汉字字段 就ok

先用group by 进行分类处理(姓名)
再用 order by 进行排序 (ID)
至于拼音排序 就比较麻烦
like 语句试试

select * from trans t order by t.name;
这样写是没问题的,我试过。