1樓:匿名使用者
也不說什麼資料庫,語法都不一樣。
mysql
create table test
(fname varchar(100),
fmoney int);
insert into test values ('得獎-雙色球',4000);
insert into test values ('得獎-瓜子卡片',100);
insert into test values ('得獎-飲料頭獎',1000);
insert into test values ('打零工-碼農',8000);
insert into test values ('打零工-洗頭',4000);
insert into test values ('拾金',300);
執行:select
substr(
fname,
1,case
when instr(fname, '-') - 1 > 0 then
instr(fname, '-') - 1
else
length(fname)
end) fname,
sum(fmoney)
from
test
group by
substr(
fname,
1,case
when instr(fname, '-') - 1 > 0 then
instr(fname, '-') - 1
else
length(fname)
end);
oracle:
create table test
(fname varchar2(100),
fmoney int);
insert into test values ('得獎-雙色球',4000);
insert into test values ('得獎-瓜子卡片',100);
insert into test values ('得獎-飲料頭獎',1000);
insert into test values ('打零工-碼農',8000);
insert into test values ('打零工-洗頭',4000);
insert into test values ('拾金',300);
commit;
執行語句同mysql一樣,不贅述了。
sqlserver:
create table test
(fname varchar(100),
fmoney int);
insert into test values ('得獎-雙色球',4000);
insert into test values ('得獎-瓜子卡片',100);
insert into test values ('得獎-飲料頭獎',1000);
insert into test values ('打零工-碼農',8000);
insert into test values ('打零工-洗頭',4000);
insert into test values ('拾金',300);
執行:select
substring(
fname,
1,case
when charindex('-',fname) - 1 > 0 then
charindex('-',fname) - 1
else
len(fname)
end) fname,
sum(fmoney)
from
test
group by
substring(
fname,
1,case
when charindex('-',fname) - 1 > 0 then
charindex('-',fname) - 1
else
len(fname)
end);
所有結果如圖:
貌似你給的結果算錯了吧?
2樓:匿名使用者
使用substr函式能解決你的問題
select substr(fname,1,2),sum(fmoney) from f_name group by substr(fname,1,2);
3樓:匿名使用者
什麼意思? 是想把欄位名自定義嗎,取別名嗎
求SQL聯表查詢語句,求SQL聯表查詢語句
首先你要了解一下資料的傳輸 1 你不用擔心,20多萬資料很少的。我見過最高的單個表有近2億行資料。2 資料庫以sqlserver為例,它會把自己要用的資料快取到記憶體裡,然後再更新到硬碟,也就是說,你增刪改查的時候,實際上會先寫入到記憶體。所以sqlserver執行久了,你會發現工作管理員的記憶體佔...
sql語句求優化,聽說NOT IN語句不好求優化
還要注意是在哪一種資料庫管理系統中,有些就不支援minus,不過not exists應該都支援。select name from test1 a where not exists select from test2 b where b.name admin and b.name a.name sql...
求大神指點SQL語言,求大神指點SQL語句
select distinct vehiclenumber from table table換成你的表名 第四大題,四個sql語句,求大神指點 c 中如何用sql語言建立資料庫,把sql語句寫在哪?求大神指點 請大神指點,sql語句這是什麼意思?求詳細,感激不盡!select m.p.sysset,...