要修改以前那个项目 必须排序 我的解决办法是把所有的取出来放到动态数组里面 然后操作动态数组 把重复项剔除 因为动态数组remove了一个后 元素个数就变了 这样就会数组越界 只能在用另一个arraylist了 效率不高 我是用这种办法 已经提交了 没有什么问题 我在想如果直接使用sql直接剔出重复项这样要好一点。
表tt结构
ec_id ec_name ec_title ec_content
1 民生 饮食 成都火锅多
2 民生 人文 天府之国
3 体育 篮球 姚明 火箭
4 体育 足球 中国0:1泰国
5 国际 世界排名 中国世界排名15
6 娱乐 蜘蛛侠3 首映式
7 民生 吃饭 重庆火锅
要取出
1 民生
3 体育
4 国际
6 娱乐
必须按照 ec_id排序
我开始使用select distinct ec_name from tt order by ec_id, 这是每个人的本能反应,但是实际情况是错误的,因为如果用了distinct 那么ec_id必须出现在选择列中, 要不然肯定要报错,如果不用distinct,order by 后面的字段不必在选择列中。
只能用这种办法了: select min(ec_id) as m, ec_name from tt group by ec_name order by m. 实际上这个问题就是每次都在取每个不同的ec_name的最小Id。