SQL面试题(十一)

表如下:

a b c 三个字段有可能重
数据如下:
a b c d e
------- ---------- ---------- ----------- -----------
a a a 1 2
a a a 1 2
a a a 1 2
a a a 1 2
a a a 1 2
b b b 3 3
b b b 3 3
b b b 3 3
b b b 3 3
b b b 3 3
b b b 3 3
b b b 3 3
c c c 4 4
d d d 5 5
d d d 5 5

 

建表:

DROP TABLE IF EXISTS `samedatas`;
CREATE TABLE `samedatas` (
  `Id` int(11) NOT NULL auto_increment,
  `a` varchar(11) default NULL,
  `b` varchar(11) default NULL,
  `c` varchar(11) default NULL,
  `d` int(11) default NULL,
  `e` int(11) default NULL,
  PRIMARY KEY  (`Id`)
) ENGINE=MyISAM DEFAULT CHARSET=ujis;

#
# Dumping data for table samedatas
#

INSERT INTO `samedatas` VALUES (1,'a','a','a',1,2);
INSERT INTO `samedatas` VALUES (2,'a','a','a',1,2);
INSERT INTO `samedatas` VALUES (3,'a','a','c',1,2);
INSERT INTO `samedatas` VALUES (4,'a','b','a',1,2);
INSERT INTO `samedatas` VALUES (5,'a','a','a',1,2);
INSERT INTO `samedatas` VALUES (6,'b','b','b',3,3);
INSERT INTO `samedatas` VALUES (7,'b','b','b',3,3);
INSERT INTO `samedatas` VALUES (8,'b','a','b',3,3);
INSERT INTO `samedatas` VALUES (9,'b','b','b',3,3);
INSERT INTO `samedatas` VALUES (10,'b','b','c',3,3);
INSERT INTO `samedatas` VALUES (11,'b','b','c',3,3);
INSERT INTO `samedatas` VALUES (12,'b','b','b',3,3);
INSERT INTO `samedatas` VALUES (13,'c','c','c',4,4);
INSERT INTO `samedatas` VALUES (14,'d','d','d',5,5);
INSERT INTO `samedatas` VALUES (15,'d','d','d',5,5);

 

问题:

 在要把三个字段有重的数据提出来.

Sql:

SELECT a, b, c, COUNT(*) FROM samedatas GROUP BY a, b, c HAVING COUNT(*) > 1;

 

问题: 合并表中的数据,比如
a a a 1 2
a a a 1 2
a a a 1 2
a a a 1 2
a a a 1 2
五条纪录要合并成一条
a a a 5 10

 

Sql:

 

SELECT a, b, c, SUM(d), SUM(e) FROM samedatas GROUP BY a, b, c ;

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值