| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4349 人关注过本帖
标题:[求助]怎样按汉字的拼音首字母排序?
只看楼主 加入收藏
蜂婆紫
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-3-31
收藏
 问题点数:0 回复次数:9 
[求助]怎样按汉字的拼音首字母排序?

表的形式为:工程项目表J(JNO,JNAME,CITY)

其中的数据为:
jno jname city
J1 三建 北京
J2 一汽 长春
J3 弹簧厂 天津
J4 造船厂 天津
J5 机车厂 唐山
J6 无线电厂 常州
J7 半导体厂 南京

求所在城市按字母排序为第一的工程号。

这个应该怎样写查询语句?
请各位高手指点迷津。在下感激不尽ING。
搜索更多相关主题的帖子: 拼音 汉字 字母 
2007-03-31 13:09
lmhllr
Rank: 8Rank: 8
等 级:贵宾
威 望:44
帖 子:1504
专家分:42
注 册:2005-5-12
收藏
得分:0 
这个不是直接按order by city asc就可以了吗?!我以为是要获得首字母呢
2007-04-02 15:31
蜂婆紫
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-3-31
收藏
得分:0 

我输入命令:
mysql> select jno from j order by city asc;

返回的结果是
+-----+
| jno |
+-----+
| J3 |
| J4 |
| J5 |
| J7 |
| J1 |
| J6 |
| J2 |
+-----+
其中,如果排列正确的话,J1应该排在最后的。可是它排前了,为什么?

2007-04-10 00:41
lmhllr
Rank: 8Rank: 8
等 级:贵宾
威 望:44
帖 子:1504
专家分:42
注 册:2005-5-12
收藏
得分:0 
你这是按city排啊~

这样

select jno from j order by jno desc;
2007-04-10 01:56
蜂婆紫
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-3-31
收藏
得分:0 
这道题是 求所在城市按字母排序为第一的工程号
城市按字母排序应该是 北京,长春,常州,南京,天津,天津,唐山.
那么,返回的工程号应该是J1.

但是select jno from j order by jno desc;这句返回的只是jno 的排序结果,而且不是所在城市按字母排序.
2007-04-10 16:38
lmhllr
Rank: 8Rank: 8
等 级:贵宾
威 望:44
帖 子:1504
专家分:42
注 册:2005-5-12
收藏
得分:0 
我晕了,列出查询字段就可以了啊,要多字段就用逗号分隔,基础

这个只返回一个,就是J1:
select jno from j order by city limit 1;

这个返回一个,工程号和城市对应:
select jno,city from j order by city limit 1;



郁闷!仿佛回到了学生时代做作业一样,这些东西很简单的,自己随便翻翻书就会了。闪了!
2007-04-11 10:48
蜂婆紫
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-3-31
收藏
得分:0 
谢谢你的解答,这个语句我也试过

输入:mysql> select jno,city from j order by city asc limit 1;

输出:
+-----+------+
| jno | city |
+-----+------+
| J3 | 天津 |
+-----+------+

输入:mysql> select jno,city from j order by city desc limit 1;

输出:
+-----+------+
| jno | city |
+-----+------+
| J2 | 长春 |
+-----+------+

输入:mysql> select jno,city from j order by city limit 1;

输出:
+-----+------+
| jno | city |
+-----+------+
| J3 | 天津 |
+-----+------+

始终得不到预期的答案

J1 北京





2007-04-12 00:16
lmhllr
Rank: 8Rank: 8
等 级:贵宾
威 望:44
帖 子:1504
专家分:42
注 册:2005-5-12
收藏
得分:0 

难道是我人品问题??!!

这是我的结果:

Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.

C:\Documents and Settings\long>D:

D:\>CD MYSQL

D:\mysql>CD BIN

D:\mysql\bin>mysql -u root -p
Enter password: ***
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 22 to server version: 5.0.16-nt

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use test
Database changed
mysql> select * from j;
+-----+----------+------+
| jno | jname | city |
+-----+----------+------+
| J1 | 三建 | 北京 |
| J2 | 一汽 | 长春 |
| J3 | 弹簧厂 | 天津 |
| J4 | 造船厂 | 天津 |
| J5 | 机车厂 | 唐山 |
| J6 | 无线电厂 | 常州 |
| J7 | 半导体厂 | 南京 |
+-----+----------+------+
7 rows in set (0.00 sec)

mysql> select jno,city from j order by city asc limit 1;
+-----+------+
| jno | city |
+-----+------+
| J1 | 北京 |
+-----+------+
1 row in set (0.00 sec)

mysql>

2007-04-12 01:53
lmhllr
Rank: 8Rank: 8
等 级:贵宾
威 望:44
帖 子:1504
专家分:42
注 册:2005-5-12
收藏
得分:0 
然后顺便给你找错

因为 J3 天津天字的前面多了一个空格或者制表符之类的

这种错误很难找,你看看是不是这样的~~
2007-04-12 01:56
蜂婆紫
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-3-31
收藏
得分:0 

谢谢你一直的帮助,可能真的是我人品问题,或者是版本问题,我在我的电脑做了如下操作:
mysql> select *from j;
+-----+----------+------+
| JNO | JNAME | CITY |
+-----+----------+------+
| J1 | 三建 | 北京 |
| J2 | 一汽 | 长春 |
| J3 | 弹簧厂 | 天津 |
| J4 | 造船厂 | 天津 |
| J5 | 机车厂 | 唐山 |
| J6 | 无线电厂 | 常州 |
| J7 | 半导体厂 | 南京 |
+-----+----------+------+
7 rows in set (0.06 sec)

mysql> update j set city="天津" where jno="j3";
Query OK, 0 rows affected (0.02 sec)
Rows matched: 1 Changed: 0 Warnings: 0

mysql> update j set city="天津" where jno="j4";
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0

mysql> select jno,city from j order by city asc limit 1;
+-----+------+
| jno | city |
+-----+------+
| J3 | 天津 |
+-----+------+
1 row in set (0.02 sec)

mysql> select jno,city from j order by city desc limit 1;
+-----+------+
| jno | city |
+-----+------+
| J2 | 长春 |
+-----+------+
1 row in set (0.02 sec)

它好像怎么查都不对。不过,真的很谢谢你。

2007-04-18 16:40
快速回复:[求助]怎样按汉字的拼音首字母排序?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.036254 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved