
sql查询语句请帮帮忙,谢谢!
现在有表A,详细如下idnamejob1路飞海贼2红发海贼3库赞海军4蒙卡海军5smoke海军我想把这个表遍历出来的结果如下jobname海贼路飞红发海军库赞蒙卡smok...
现在有表A,详细如下
id name job
1 路飞 海贼
2 红发 海贼
3 库赞 海军
4 蒙卡 海军
5 smoke 海军
我想把这个表遍历出来的结果如下
job name
海贼 路飞
红发
海军 库赞
蒙卡
smoke
******重点是job这列,不是每行都显示,要动态的rowspan 每个job的个数.求高手指点,有语句更好,谢谢! 展开
id name job
1 路飞 海贼
2 红发 海贼
3 库赞 海军
4 蒙卡 海军
5 smoke 海军
我想把这个表遍历出来的结果如下
job name
海贼 路飞
红发
海军 库赞
蒙卡
smoke
******重点是job这列,不是每行都显示,要动态的rowspan 每个job的个数.求高手指点,有语句更好,谢谢! 展开
3个回答
展开全部
$ sqlite3
SQLite version 3.7.7 2011-06-23 19:49:22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .mode column
sqlite> create table tb_tester (
...> id int,
...> name varchar(16),
...> job varchar(16)
...> );
sqlite>
sqlite> insert into tb_tester values (1,'路飞','海贼');
sqlite> insert into tb_tester values (2,'红发','海贼');
sqlite> insert into tb_tester values (3,'库赞','海军');
sqlite> insert into tb_tester values (4,'蒙卡','海军');
sqlite> insert into tb_tester values (5,'smoke','海军');
sqlite>
sqlite> select
...> case when not exists (
...> select 1
...> from tb_tester b
...> where b.job=a.job
...> and b.id < a.id) then job else '' end as job
...> , name
...> from tb_tester a
...> order by a.job desc, id;
海贼 路飞
红发
海军 库赞
蒙卡
smoke
sqlite>
展开全部
select (case when rn = 1 then job else '' end) as job, name from
(select job, name,
ROW_NUMBER() over(partition by job order by id) as rn from A) as temp
order by job
这是限于你按id排序就已经按job分类好的情况
如果是
id name job
1 路飞 海贼
2 库赞 海军
3 蒙卡 海军
4 红发 海贼
5 smoke 海军
这样的话需要改一下写法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SQL里面去做这个不合适,你在页面做这个处理比较好.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询