Group By的用法示例

 

CREATE TABLE #A
(
    UserId        
INT,
    UserName    
NVARCHAR(50),
    Mobile        
VARCHAR(20)
)

INSERT INTO #A VALUES(1,'aaa','13926436455')
INSERT INTO #A VALUES(3,'bbb','13587656455')

CREATE TABLE #C
(
    UserId        
INT,
    Mobile        
VARCHAR(20),
    PostTime    
DATETIME,
    HasTime        
INT
)


INSERT INTO #C VALUES(1,'13345656455','2007-09-28 17:40:46.310','51')
INSERT INTO #C VALUES(1,'13345656455','2007-09-28 17:40:50.937','11')
INSERT INTO #C VALUES(2,'13545656455','2007-09-28 17:41:06.187','13')
INSERT INTO #C VALUES(3,'13587656455','2007-09-28 17:41:21.230','13')
INSERT INTO #C VALUES(4,'13987656455','2007-09-28 17:41:33.640','34')
INSERT INTO #C VALUES(4,'13987656455','2007-09-28 17:41:40.810','14')
INSERT INTO #C VALUES(1,'13345656455','2007-09-28 17:41:59.450','19')

--和#A表连接获取UserName,根据#C表各Mobile和#A表各UserName的HasTime的和,按时间和降序排列
--
连接后表中UserName为NULL的将其默认设置为“匿名用户”
SELECT #C.Mobile,ISNULL(UserName,'匿名用户'AS UserName,SUM(HasTime) AS SumTime FROM #C 
LEFT JOIN #A ON #C.UserId=#A.UserId GROUP BY #C.Mobile,#A.UserName ORDER BY SumTime DESC
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值