求SQL语句(50分)

  • 主题发起人 主题发起人 Lidong
  • 开始时间 开始时间
L

Lidong

Unregistered / Unconfirmed
GUEST, unregistred user!
假设一条SQL语句返回一系列结果,如何构造一条SQL语句实现在上述结果的基础上进行分类汇总?
 
把结果存放到临时表中,然后对临时表进行统计汇总...
 
用group和having可能可以.
能说详细点吗,最好举个例子。
 
我不想用临时表,我原本是使用下面的语句产生一些结果,希望在此结果的基础上
分类汇总,汇总的字段为caigou2.Count
SELECT caigou2.BillOrder, caigou2.Goods, caigou2.Specification,
caigou2.Count, caigou2.Piece, caigou2.Company, caigou1.Date
FROM caigou2 INNER JOIN caigou1 ON caigou2.BillOrder=caigou1.BillOrder
WHERE caigou1.Date='2000-01-20'
ORDER BY caigou2.BillOrder
 
WITH temp(...,...) AS
(
select ...
)
select ... from temp
group by ..
having ...
with子句中的select用来返回一系列结果
存放在临时表temp中
后一个Select从temp中取出数据分组。
此语句只能在大型数据库中使用。
 
SELECT caigou2.BillOrder, caigou2.Goods, caigou2.Specification,
SUM(caigou2.Count), caigou2.Piece, caigou2.Company, caigou1.Date
FROM caigou2 JOIN caigou1 ON caigou2.BillOrder=caigou1.BillOrder
AND caigou1.Date='2000-01-20' ORDER BY caigou2.BillOrder
^^^
 
我也问了这么个问题,没人回答啊。正好听听。
 
不知道.
西西
 
使用union即可
 
select ....,sum(...) from ...
group by ...
 
select .....,..., form ...
order by
compute .. by..
 
SELECT caigou2.billorder, caigou2.goods, caigou2.Specification,
Sum(caigou2.count) AS countOfSum, caigou2.piece, caigou2.company
FROM caigou2 INNER JOIN caigou1 ON caigou2.billorder = caigou1.billorder
WHERE (((caigou1.date)='2000-01-20'))
GROUP BY caigou2.billorder, caigou2.goods, caigou2.Specification, caigou2.piece, caigou2.company
ORDER BY caigou2.billorder;
 
不用临时表,可以用view完成
 
多人接受答案了。
 
后退
顶部