重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
標(biāo)準(zhǔn)答案:
成武ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
declare @ACount int
select @ACount=count(*) from 表 --計(jì)算總數(shù),避免放在大數(shù)據(jù)的select中影響效率
if @ACount0 --判斷是否有記錄,無(wú)記錄時(shí)@Acount為0,不能做除數(shù)
select 表.name,cast(count(*) as numeric(10,3))/cast(@ACount as numeric(10,3)) from 表 group by 表.name --做百分比時(shí)要避免直接用/,會(huì)整除的,就無(wú)法判斷%比例了。
else
select '表中無(wú)記錄,無(wú)法統(tǒng)計(jì)比例'
--小數(shù)點(diǎn)后保留三位,換算成%比,應(yīng)該如12.5%的精確度,numeric(10,3)前面的10如果長(zhǎng)度不夠可以根據(jù)需要修改
select 12/23 * 100 ||'%' from dual;
mysql 服務(wù)器支持 # 到該行結(jié)束、-- 到該行結(jié)束 以及 /* 行中間或多個(gè)行 */ 的注釋方格:
mysql SELECT 1+1; # 這個(gè)注釋直到該行結(jié)束
mysql SELECT 1+1; -- 這個(gè)注釋直到該行結(jié)束
mysql SELECT 1 /* 這是一個(gè)在行中間的注釋 */ + 1;
mysql SELECT 1+
/*
這是一個(gè)
多行注釋的形式
*/
1;
注意 -- (雙長(zhǎng)劃) 注釋風(fēng)格要求在兩個(gè)長(zhǎng)劃后至少有一個(gè)空格!
盡管服務(wù)器理解剛才描述的注釋句法,但 MySQL 客戶端的語(yǔ)法分析在 /* ... */ 注釋方式上還有所限止:
單引號(hào)和雙引號(hào)被用來(lái)標(biāo)志一個(gè)被引用字符串的開(kāi)始,即使是在一個(gè)注釋中。如果注釋中的引號(hào)沒(méi)有另一個(gè)引號(hào)與之配對(duì),那和語(yǔ)法分析程序就不會(huì)認(rèn)為注釋結(jié)束。如果你以交互式運(yùn)行 mysql,你會(huì)產(chǎn)生困惑,因?yàn)樘崾痉麖?mysql 變?yōu)?' 或 "。
一個(gè)分號(hào)被用于指出當(dāng)前 SQL 語(yǔ)句的結(jié)束并且跟隨它的任何東西表示下一行的開(kāi)始。
不論你是以交互式運(yùn)行 mysql 還是將命令放在一個(gè)文件中,然后以 mysql some-file 告訴 mysql 讀取它的輸入,這個(gè)限制均存在。
select REALHANDLER, count(*) as 總數(shù), sum(case when status='RESOLVED' then 1 else 0 end)as 已解決,
sum(case when status!='RESOLVED' then 1 else 0 end)as 未解決,
sum(case when status='RESOLVED' then 1 else 0 end)+0.0001/count(*) as 完成率
from INCIDENT
group by REALHANDLER
)+0.0001試一下 因?yàn)榉祷氐念愋秃蛃um(case when status='RESOLVED' then 1 else 0 end),count(*) 一樣
以A表為例子
先建立一個(gè)table0
create table_0
(n_date date,
sheng varchar2(20),
sale number
tongbi number);
create unique index table_0_U1 on table_0 (n_date,sheng);
create or replace package body pkg_b_tongji is
procedure sp_update_party_rating(p_sdate number, p_edate number) is
v_sdate date default to_date(p_sdate,'yyyymmdd');
v_edate date default to_date(p_edate,'yyyymmdd');
v_sqlUpd varchar2(3000);
v_sqlIns varchar2(3000);
begin
v_sqlIns := 'insert into table_0(n_date,sheng,sale)
values(:v1,:v2,:v3)';
v_sqlUpd := 'update table_0 t set sale = :v1
where n_date = :v2 and sheng = :v3';
for c1 in (select a.ndate,
a.sheng,
sum(sale) sale
from a
where ndate between v_sdate and v_edate
group by a.ndate,
a.sheng
)
loop
execute immediate v_sqlUpd using c1.sale;
if sql%rowcount=0 then --如果更新操作沒(méi)有執(zhí)行就執(zhí)行插入操作
execute immediate v_sqlIns using c1.n_date,c1.sheng,c1.sale;
end if;
end loop;
commit;
end sp_update_party_rating;
---更新同比
procedure sp_update_tongbi is
begin
for c2 in (
select n_date,
sheng,
sale,
nvl(sale,0) sale1
from table_0 a
left join
(select n_date,sheng,a.nvl(sale,0) sale
from table_0 a,
(select t.n_date,sheng
add_months(n_date,-1) n_date2
from table_0 t)
where a.sheng = b.sheng and a.n_date = b.n_date2)
)
loop
update table_0
set tongbi = sale/sale1
where n_date = c2.n_date and sheng = c2.sheng;
commit;
end loop;
end sp_update_tongbi;
end pkg_b_tongji;