要求提供計算每天、每月和每年總銷售額的 SQL 語句

發布 科技 2024-04-12
7個回答
  1. 匿名使用者2024-02-07

    這絕對行不通!

    您應該了解 SQL 執行順序。

    首先執行 SQL 以查詢 select * from *

    然後是過濾器,其中

    同樣,分組函式按

    最後,有順序

    group by 函式的條件是用於分組的列必須出現在查詢中,並且 to char(,'yyyy-mm-dd') 不被視為列。

    最簡單的解決方案是分別為它們新增別名並將它們視為表,然後分組查詢它們。

    即從(您的語句)別名中按列別名分組選擇列別名。

    這樣就不會有問題了。

    但如果你這樣檢查,你還不如直接在桌子上檢查它。

    select , from table1 t1,table t2

    where t1 = t2 and = 1 and to_char(,'yyyy-mm-dd') = '2010-10-01'

    你對 in 的用法也不對,它需要的是乙個結果集。

    如果必須按如下方式寫入:select count(*)from table2 where callid in (select callid from table1 where type = 1 and to char(createdate,'yyyy-mm-dd') = '2010-10-01'

    繼續新增:如果你使用樓上至少需要修改成這樣。

    select , select count(*)from table2 a2 where in (select callid from table1 a3 where to_char(,'yyyy-mm-dd')=to_char(,'yyyy-mm-dd') and

    from (

    select to_char(,'yyyy-mm-dd') as createdate,from table1 a1 ) a1

    group by ,

    這太麻煩了。

  2. 匿名使用者2024-02-06

    只要你的陳述中有問題。

    select to_char(,'yyyy-mm-dd'), count(*)

    select count(*)from table2 a2 where in (select callid from table1 a3 where to_char(,'yyyy-mm-dd')=to_char(,'yyyy-mm-dd') and

    from table1 a1 group by to_char(,'yyyy-mm-dd'),

  3. 匿名使用者2024-02-05

    選擇 year(ordertime) year, sum(total) total sales。

    從訂單中。

    group by year(ordertime)

    2. SQL報表計算每月的總銷售額。

    選擇 Year(OrderTime)、Month(OrderTime)、Sum(Total) Total Sales。

    從訂單中。

    group by year(ordertime),month(ordertime

    3. SQL報表計算每天的總銷售額。

    選擇 Year(OrderTime)、Month(OrderTime)、Day(OrderTime)、Sum(Total) Total Sales。

    從訂單中。

    group by year(ordertime),month(ordertime),day(ordertime)

  4. 匿名使用者2024-02-04

    1. 建立乙個測試表,62616964757a686964616fe78988e69d8331333431373863

    create table test_stu(id number, u_name varchar2(20), subject varchar2(20));

    create table test_subj(id number, subject varchar2(20));

    2. 插入測試資料。

    insert into test_stu values(1,'張三','英語');

    insert into test_stu values(2,'李思','德語');

    insert into test_stu values(3,'王五','日語');

    insert into test_stu values(4,'小明','英語');

    insert into test_stu values(5,'狗','法語');

    insert into test_subj values(1,'英語');

    insert into test_subj values(2,'德語');

    insert into test_subj values(3,'日語');

    insert into test_subj values(4,'法語');

    3. 查詢表中所有記錄的個數,選擇t*,rowid from test subj t,4、編寫 SQL,統計測試子記錄總數,以及每個科目的選修生人數;

    select count(distinct as "小計",count(case when subject='英語' then 1 end) as "英語",count(case when subject='德語' then 1 end) as "德語",count(case when subject='日語' then 1 end) as "日語"

    from (select t.*

    from test_subj t, test_stu b

    where = t

  5. 匿名使用者2024-02-03

    以 sqlserver 為例。

    建立表並插入資料。

    建立表名稱列表。

    id int,u_name varchar(10),subject varchar(10))

    建立會計科目表表。

    id int,s_name varchar(10))

    插入到名稱錶值 (1,'張三','英語

    62616964757a686964616fe59b9ee7ad9431333337373562')

    插入到名稱錶值 (2,.'李思','德語')

    插入到名稱表中 值 (3,.'王五','日語')

    插入到名稱錶值 (4,.'小明','英語')

    插入到名稱錶值 (5,.'狗','法語')

    插入到會計科目錶值 (1,'英語')

    插入到會計科目錶值(2,'德語')

    插入到會計科目錶值(3,'日語')

    插入到會計科目錶值(4,'法語')

    然後,您需要建立乙個檢視。

    create view v_subject

    asselect ,sum(case when then 1 else 0 end) counts

    從會計科目表 A 左連線名稱表 B 上

    group by

    執行語句。 declare @sql varchar(4000)

    set @sql = '選擇 sum(counts) 作為總計'

    select @sql = @sql + ',sum(isnull(case [s_name] when '''+[s_name]+''' then [counts] end,0)) as

    +[s_name]+']'

    from (select distinct [s_name] from v_subject) as a

    select @sql = @sql+' from [v_subject]'

    exec (@sql)

    結果的螢幕截圖。 為什麼結果較少?

    這主要是非常複雜的動態顯示,例如,如果在會計科目表中新增乙個阿拉伯語單詞,使用這個是沒有問題的,否則會更侷限於用例時。

  6. 匿名使用者2024-02-02

    具體操作步驟如下:

    1. 第一步是建立乙個測試表,詳見下圖,然後轉到下面的步驟。

    2. 第二步,執行完上述DU操作後,插入測試資料,詳見下圖DAO圖,進入以下步驟。 屬。

    3.第三步,完成上述操作後,記錄在查詢表中,見下圖,然後轉到以下步驟。

    4.第四步,執行上述操作後,寫入SQL,對統計記錄進行分組,記錄組數,結果為4組,見下圖。 這樣,問題就解決了。

  7. 匿名使用者2024-02-01

    要求受試者完成問題並詳細解釋需求。

相關回答
21個回答2024-04-12

建議你寫乙個儲存過程,我寫乙個供你參考! cardno 是一種自定義資料型別! 觸發器很容易出錯。 >>>More

11個回答2024-04-12

select

case when exists(select 1 from table where id=1972) >>>More

8個回答2024-04-12

從按“大類別”、“小類別”的表名分組中選擇“大類別”、“小類別”、“最小(值)”。

5個回答2024-04-12

1 -- Oracle 對記錄進行重複資料刪除,可以使用 Oracle 的唯一 rowid 進行操作,例如: >>>More

5個回答2024-04-12

select 是查詢關鍵字,table 是查閱表中的所有列。 >>>More