34,576
社区成员
发帖
与我相关
我的任务
分享
create table book(ID varchar(10), Name varchar(10), Price int, Author varchar(10))
insert into book values('01', 'N1', 23, 'A1')
insert into book values('02', 'N2', 23, 'A2')
insert into book values('03', 'N3', 26, 'A5')
insert into book values('04', 'N4', 23, 'A2')
insert into book values('05', 'N5', 26, 'A1')
create table buyer(ID varchar(10), bookId varchar(10), sex varchar(10), age int)
insert into buyer values('001', '01', '男', 16)
insert into buyer values('002', '03', '男', 19)
insert into buyer values('003', '02', '女', 16)
insert into buyer values('004', '03', '女', 18)
insert into buyer values('005', '02', '女', 19)
go
select
价格26的个数 = (select count(*) from book where price = 26),
价格23的个数 = (select count(*) from book where price = 23),
男购书的人数 = (select count(*) from buyer where sex = '男'),
女购书的人数 = (select count(*) from buyer where sex = '女'),
[16岁的人数] = (select count(*) from buyer where age = 16),
[19岁的人数] = (select count(*) from buyer where age = 19)
drop table book,buyer
/*
价格26的个数 价格23的个数 男购书的人数 女购书的人数 16岁的人数 19岁的人数
----------- ----------- ----------- ----------- ----------- -----------
2 3 2 3 2 2
(1 行受影响)
*/
select
key='价格'
,value=cast(price as varchar)
,cnt=count(1)
from buyer a
join book b on book.id=bookId
group by cast(price as varchar)
union
select
key='性别'
,value=cast(sex as varchar)
,cnt=count(1)
from buyer a
join book b on book.id=bookId
group by cast(sex as varchar)
union
select
key='年龄'
,value=cast(age as varchar)
,cnt=count(1)
from buyer a
join book b on book.id=bookId
group by cast(age as varchar)