以下SQL中语句,为什么老是报错( '*' 附近有语法错误)??

来源:百度知道 编辑:UC知道 时间:2024/09/24 23:49:30
select book_no,book_name,book_price
from book
where book_sort='计算机类'
order by book_no asc
compute count(*),sum(book_price)by book_express
compute count(*),sum(book_price)
原题目是:用SQL语句求"列出计算机类图书的书号、名称及价格,并求出各出版社这类书的总价格,最后求出全部册数和总价格"

1.count()在和compute by搭配使用时,不允许使用"*"号,必须明确的使用某个字段名.
2.compute by的by后面的字段必须是前面order by的by后面的字段之一,且顺序必须相同,比如:
如果前面用的是order by a,b,c
那么compute by后面只能是以下三种之一:
compute by a,b,c
compute by a,b
compute by a

后面加
compute count(*),sum(book_price)by book_express
compute count(*),sum(book_price)
为什么?
前面把图书的书号,名称和价格查查出来了
后面应该在查询各出版社这类书的总价格,和全部册数的总价格
要是想用一句查询语句就用子查询(但是不知道你数据库是怎么设计的)
要么你就用两个或三个查询语句实现

一条SQL语句求不出这么多吧,即有分组的又有为分组的。