当前位置:首页 » 编程语言 » sql按类别展示
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql按类别展示

发布时间: 2022-08-10 01:45:44

A. sql 如何将查询结果按列分组,我想将结果按类别数,总册数,最高价,最低价分成4列,应该怎么做

use labery_学号
select category as 类别数, count(*) as 总册数, max(price) as 最高价, min(price) as 最低价
from book
group by category

B. 在sql数据库中显示每个类别(文章类别表)中所发表的文章(文章表)数量,并按照降序排列

CREATE TABLE wenzhangleibie(
类别 varchar(50),
)
CREATE TABLE wenzhang(
文章名 varchar(20),
类别 varchar(50)
)
INSERT INTO wenzhangleibie VALUES('文言文')
INSERT INTO wenzhangleibie VALUES('论文')

INSERT INTO wenzhang VALUES('小草','散文')
INSERT INTO wenzhang VALUES('猎车小子','小说')
INSERT INTO wenzhang VALUES('雨','散文')
INSERT INTO wenzhang VALUES('鱼','散文')
INSERT INTO wenzhang VALUES('温总理','新闻')
INSERT INTO wenzhang VALUES('周总理','新闻')
INSERT INTO wenzhang VALUES('雨','散文')

SELECT a.类别,isnull(COUNT(b.类别),0) 数量 FROM wenzhangleibie as a left join wenzhang as b on(a.类别=b.类别) GROUP BY a.类别 ORDER BY 数量 DESC

C. SQL如果实在 分类按级次展开:

selectt1.分类编码,t1.分类名称,t2.分类编码as分类编码1,t2.分类名称as分类名称1,t3.分类编码as分类编码2,t3.分类名称as分类名称2
from表名t1
leftjoin表名t2ont2.分类编码liket1.分类编码+'%'andt2.级次=2
leftjoin表名t3ont3.分类编码liket2.分类编码+'%'andt3.级次=3
wheret1.级次=1

D. sql 按分类级别汇总

很明显 A,B,C,D都是两位字符串递增

--一级:
selecta.*,b.分类名称from商品表a,分类表bwherecharIndex(b.分类编码,a.分类编码,1)=1
andb.分类等级=1
--二级:
selecta.*,b.分类名称from商品表a,分类表bwherecharIndex(b.分类编码,a.分类编码,1)=1
andb.分类等级=2
--三级、四级只需改等级=3,4即可

E. sql分类查询并将每个类别的所有记录显示出来

如根据部门分组 查询每个部门的平均工资
SQL> SELECT DEPTNO,AVG(SAL) FROM EMP GROUP BY DEPTNO;

DEPTNO AVG(SAL)
------ ----------
10 2916.66666
20 2175
30 1566.66666

F. SQL 如何显示全部类别

selectt2.time,t1.lx,isnull(ksrq,0)ksrq,isnull(bqsr,0)bqsr,isnull(bqzc,0)bqzc,isnull(t2.mqkc,0)mqkc
from(selectdistinctlxfromw2)t1
leftjoin
(selectgetdate()astime,w2.lx,ksrq,bqsr,bqzc,isnull(ksrq,0)+isnull(bqsr,0)-isnull(bqzc,0)asmqkc,
replace(substring(convert(varchar(32),dateadd(month,-1,getdate()),120),1,7),'','-')
fromw1,w2,lxdmbwherew1.lx=w2.lxandw1.lx=lxdmb.lx)t2
ont1.lx=t2.lx

这样试试呢?

G. sql如何按天和类别分类汇总

selectconvert(varchar(10),a.rq,120),B,isnull(count(*),0)
(select
cast('2014-01-10'asdatetime)+number-1rq
frommaster..spt_valueswheretype='P'andnumberbetween1and(selectdatediff(day,cast('2014-01-10'asdatetime),cast('2014-01-13'asdatetime)))+1)asa
leftjoinTbNamebonconvert(varchar(10),a.rq,120)=convert(char(10),b.A,120)
groupbyconvert(varchar(10),a.rq,120),B

这样试试

主要是你把这句弄懂了就行,用这个构造一个时间的虚拟列

select
cast('2014-01-10'asdatetime)+number-1rq
frommaster..spt_valueswheretype='P'andnumberbetween1and(selectdatediff(day,cast('2014-01-10'asdatetime),cast('2014-01-13'asdatetime)))+1

H. sql语句排序问题,按照类别,无限级分类

请问什么叫按照大类排序。。
你可以把typename
改成 宝马-华晨 宝马-进口 宝马-x5 宝马-x4这样
然后 order by typename,parentid;
想按typename排序就构造成可以排序的样子。