sql server中如何實現這樣的彙總查詢

2022-03-03 17:04:18 字數 3786 閱讀 3670

1樓:匿名使用者

select a.城市名稱,

sum(isnull((case when 產品名稱='方便麵' then 銷量 end),0)) 方便麵,

sum(isnull((case when 產品名稱='洗髮水' then 銷量 end),0)) 洗髮水,

sum(isnull((case when 產品名稱='礦泉水' then 銷量 end),0)) 礦泉水,

sum(isnull((case when 產品名稱='沐浴露' then 銷量 end),0)) 沐浴露

from 城市表 a left join 銷售表 b on a.城市名稱=b.城市名稱

group by a.城市名稱

2樓:匿名使用者

select 城市名稱,

sum(case 產品名稱 when 『方便麵』 then 銷售量 end) as 方便麵,

sum(case 產品名稱 when 『洗髮水』 then 銷售量 end) as 洗髮水,

sum(case 產品名稱 when 『礦泉水』 then 銷售量 end) as 礦泉水,

sum(case 產品名稱 when 『沐浴露』 then 銷售量 end) as 沐浴露,

from 銷量表

group by 城市名稱

3樓:

只能用儲存過程+遊標,建一個臨時表,因為你需要的不簡單是行變列那麼簡單,而且還要聚合

4樓:

declare @s varchar(8000)set @s=''

select @s=@s+',['+產品名稱+']=sum(case 產品名稱 when '''+產品名稱+''' then 銷售量 else 0 end)' from 銷量表 group by 產品名稱

exec('select 城市名稱' + @s + ' from 銷量表 group by 城市名稱 order by 城市名稱')

注:如果產品種類很多的話,用這種方法是比較智慧化

5樓:匿名使用者

select 城市, nvl(sum(洗髮水),0) 洗髮水, nvl(sum(方便麵),0) 方便麵, nvl(sum(礦泉水),0) 礦泉水

from (select 城市,

(case 產品名稱

when '洗髮水' then

aaend) 洗髮水,

(case 產品名稱

when '方便麵' then

aaend) 方便麵,

(case 產品名稱

when '礦泉水' then

aaend) 礦泉水

from (select 城市, 產品名稱, sum(銷售量) aa from 銷量表 group by 城市, 產品名稱))

group by 城市

上面**和地區表關聯下就可以實現不同地區不同城市的統計了

6樓:匿名使用者

sql實現不了,只能靠程式設計解決

sql分類彙總如何實現

7樓:飛冰魚

select 片區, 客戶,產品名稱,sum(數量) from biao group by  片區, 客戶,產品名稱

8樓:

1.sql需要對dalrr進行分類彙總併合計總數量,且合計一行需要顯示「合計」字串,此方法可實現,但有一缺點,排序時合計行跟著排序,不能鎖定,看來需要再顯示控制元件中控制。

2.select

isnull(convert(varchar(20), dalrr),'合計') as '錄入人',

count(usersn)as '數量'

from logtab

group by dalrr with rollup

3.預設對數量進行排序,逆序獲得數量最大排行榜,則可以增加grouping函式,按其查詢結果=0為非rollup彙總項,=1為rollup彙總項,sortorder逆序則合計行在資料行第一行。此方法有一同上缺點:

不能控制顯示控制元件重新排序的結果。

4.select isnull(convert(varchar(20), dalrr),'合計') as '錄入人',

count(usersn)as '數量' ,

grouping (dalrr) as sortorder

from logtab

group by dalrr with rollup

order by sortorder,數量 desc

9樓:office大職場

先按照某一標準進行分類,然後在分完類的基礎上對各類別相關資料分別進行求和、求平均數、求個數、求最大值、求最小值等方法的彙總。

sql server2008怎麼實現查詢某個資料庫中所有的表名

10樓:匿名使用者

你是要寫**生成器麼?

--這是查表的數量

select [name] from sysobjects where xtype='u'and [name]<>'dtproperties' order by [name]

--得到資料庫中所有使用者檢視

select [name] from sysobjects where xtype='v' and [name]<>'syssegments' and [name]<>'sysconstraints' order by [name]

--獲得指定表中所有的列

select

c.name as columnname,t.name as typename

from syscolumns c, systypes t, sysobjects o

where c.xtype = t.xusertypeand c.id = o.id

and o.name = 'book'

order by c.colorder

sqlserver怎麼實現同一個表中多個count查詢並且分組並且統計總數

sql server2008怎麼實現查詢某個資料庫中所有的表名

11樓:匿名使用者

select name

from sys.sysobjects

where [type]='u'

是要這樣?

如何根據sql資料庫表中資料進行查詢

12樓:匿名使用者

sql server 查詢一個表的所有資訊:查詢語法為:select * from 表名 語法中的」*「代表所有。

實際操作舉例:某資料中有一表叫」user_user「,表中儲存了一些使用者資訊;

1、查詢」user_user「表中所有人員資訊且所有欄位,sql語句:select * from user_user

2、查詢」user_use「表中所有人員資訊且部分欄位。sql語句:select user_show_id,user_name,pinyin,password from user_user

3、條件查詢」user_user「表,以user_name為查詢條件查詢所有資訊。sql語句:select * from user_user where user_name='李丹'

4、模糊查詢」user_user「表,以user_name為模糊查詢條件查詢所有資訊。sql語句:select * from user_user where user_name like '%張%'

如何在中 實現 輸入上標 下標,ppt中如何實現上標和下標在同一列上

使用過word上 下 標的bai可能都du知道,要zhi在word中實現上 下標功能dao,可以點專相關的按鈕來完成,屬同時也能使用快捷鍵來完成!上 下標快捷鍵介紹 上標 ctrl shift 說明,同時按下ctrl shift和 這三個鍵,就可以輸入上 標,如果想取消上標的輸入,再次按這三個鍵即可...

如何在SQL Server 2019資料庫中匯入SQL Se

一 最簡單的回答 1 利用指令碼來實現。2 存在大量資料的資料庫,比如資料庫中存在記錄數過萬條的資料表,實現起來可能非常慢,且可能出錯,沒法進行下去。二 sql server2008資料匯入到sql server2005具體方法 1 開啟sql server2008 物件資源管理器 2 右擊資料庫,...

中如何實現兩端對齊,WORD中如何實現兩端對齊?

copy完了後你自己要再排版的。沒有什麼軟體能完完整整的轉換過來 如何在word中設定文字兩端對齊,這裡一分鐘教會你!word中,如何實現兩端對齊,如下圖所示.分散對齊 會一直把文字撐滿排到行尾,相信不是樓主需要的效果。其實,word 2007 裡面有個 中文版式 的功能,可以為選中的文字指定撐滿多...