ssoki
dofbulky
Thisexampleusesamaxof6a
dwould
eedmorecut
pasti
gtodomoretha
that
SQLselectdept
od
ameemps2from3selectddept
odd
amertrimee
ame4leadee
ame1overpartitio
byddept
o5orderbyee
ame6leadee
ame2overpartitio
byddept
o7orderbyee
ame8leadee
ame3overpartitio
byddept
o9orderbyee
ame10leadee
ame4overpartitio
byddept
o11orderbyee
ame12leadee
ame5overpartitio
byddept
o13orderbyee
ameemps14row_
umberoverpartitio
byddept
o15orderbyee
amex
f16fromempedeptd17whereddept
oedept
o1819wherex120
DEPTNODNAMEEMPS10ACCOUNTINGCLARKKINGMILLER20RESEARCHADAMSFORDJONESROONEYSCOTTSMITH30SALESALLENBLAKEJAMESMARTINTURNERWARD
also先createfu
ctio
get_a2createorreplacefu
ctio
get_a2tmp_a1
umberretur
varchar2isCol_a2varchar24000begi
Col_a2forcuri
selecta2fromu
ite_awherea1tmp_a1loopCol_a2Col_a2cura2e
dloopretur
Col_a2e
dget_a2
selectdisti
cta1get_a2a1fromu
ite_a1ABC2EFG3KMN
一个SQL面试题
f去年应聘一个职位未果其间被考了一个看似简单的题但我没有找到好的大案不知各位大虾有无好的解法
题为有两个表t1t2Tablet1
SELLERNON_SELLER
ABACADBABCBDCACBCDDADBDC
Tablet2
SELLERCOUPONBALA9100B9200C9300D9400A95100B9520
fA1080
要求用SELECT语句列出如下结果如A的SUMBAL为BCD的和B的SUMBAL为ACD的和且用的方法不要增加数据库负担如用临时表等
NONSELLERCOUPONSUMBALA9900B9800C9700D9600A9520B95100C95120D95120A100B1080C1080D1080
关于论坛上那个SQL微软面试题
问题:
一百个账户各有100,某个账户某天如有支出则添加一条新记录,记录其余额。一百天后,请输出每天所有账户的余额信息
这个问题的难点在于每个用户在某天可能有多条纪录,也可能一条纪录也没有(不包括第一天)
返回的记录集是一个100天100个用户的纪录集
下面是我的思路:
1创建表并插入测试数据:我们要求user
ame从1100
fCREATETABLEdboTABLE2user
amevarchar50NOTNULL用户名outdatedatetimeNOTNULL日期cashfloatNOTNULL余额ONPRIMARY
declareii
tseti1whilei100begi
i
serttable2valuesco
vertvarchar50i2001101100i
serttable2valuesco
vertvarchar50i200111150setii1e
di
serttable2valuesco
vertvarchar50i200110190
selr