sql查询语句,按首个字母排列集

例如下表:
name link
---------
abc 一
acdfi 二
bhfdwo 二
fnwo 三
xhowh 五
wqrjoj 无
mqjh 六
nnh 八
lhuqh 十
......

我需要将name这一列的首个字母检索出来,并按以下方式排列:

a(name的首个字母)
abc acdfi
b
bhfdwo
f
fnwo
.......

请教这段查询该如何写比较好,尽量考虑优化的问题,谢谢
abingpow,邪了,今晚再试,竟然就好了,云里雾里。
(select item from casio) union all (select firstname from casio group by firstname) order by item

其中firstname是我给item在表里加的首个字母列,item就是型号,casio是表, 现在已经能竖列的显示了,但缺点是A、B、C等等所带的链接也与下面的一样,而我本来是不想一样的,比如
A(链接为#A)
A-220W(http://www.xxx.com/A-220W.HTML) A-230(http://www.xxx.com/A-230.HTML)
也就是说首个字母与下面的列链接有不同的写法,而且下面的为横向排列,每行6个

但不管怎样,在这个问题里,你已经为我解决了,为了看到你最新的回复,我暂时不关闭,现在似乎有点贪心不足呢,呵呵,再过两天我会关闭这个问题,加分给你,先谢谢

直接再加一列吧

(select item,'http://www.xxx.com/'+item+'.HTML' as link from casio) union all (select firstname,'#'+firstname from casio group by firstname) order by item

至于每行6列在程序中用while控制更容易实现
温馨提示:答案为网友推荐,仅供参考
第1个回答  2006-09-25
你本来就是字母问题,所以用Order by name 就行了根据名称排列,其name系统默认就是按字母排列,当然字母也是首先按第一个字母排列
所以:
select * from table order by name;
第2个回答  2006-09-24
搜索a的

select name from [表名] where name like 'a%' order by name
第3个回答  2006-09-24
SELECT DISTINCT left(name,1) AS name1
FROM (select name from [表名] order by name)
第4个回答  2006-09-24
上面回答正确

应该 用 like函数