经过测试,能够得到出现最多次数的那个学生,但是在表中出现的次数和去除重复出现的次数不一样,我想,如果先去除重复再获得她在表中实际出现的次数。这条语句返回的第一条出现的次数是82次(未去除重复后的82次)SELECT DISTINCT stuName, re, projectName, className, count( * ) AS count FROM stu_class_xueke WHERE className='2012级幼教(9)班' GROUP BY stuName ORDER BY count DESC LIMIT 1SELECT distinct stuName,projectName,scores,re FROM stu_class_xueke where className='2012级幼教(9)班' AND stuName='刘小景'但是通过这条语句看到的结果数是37条,请问我怎么去除重复后能够获得实际的37条的次数信息
select count(distinct projectName)
1 1 2 2 3 3 1 2 1 2 1 3 name id select b.id,count(*) count1 from b group by b.id ORDER BY count1 DESC limit 1; 写个小例子
经过测试,能够得到出现最多次数的那个学生,但是在表中出现的次数和去除重复出现的次数不一样,我想,如果先去除重复再获得她在表中实际出现的次数。这条语句返回的第一条出现的次数是82次(未去除重复后的82次)SELECT DISTINCT stuName, re, projectName, className, count( * ) AS count FROM stu_class_xueke WHERE className='2012级幼教(9)班' GROUP BY stuName ORDER BY count DESC LIMIT 1SELECT distinct stuName,projectName,scores,re FROM stu_class_xueke where className='2012级幼教(9)班' AND stuName='刘小景'但是通过这条语句看到的结果数是37条,请问我怎么去除重复后能够获得实际的37条的次数信息你要取出有多少课程吗??
select distinct stuid,count(*) as sum from stu_class_xueke group by stuid order by sum desc
SELECT DISTINCT stuName, re, projectName, className, count( * ) AS count FROM stu_class_xueke WHERE className='2012级幼教(9)班' GROUP BY stuName ORDER BY count DESC LIMIT 6我这么写,结果给我报错啊
经过测试,能够得到出现最多次数的那个学生,但是在表中出现的次数和去除重复出现的次数不一样,我想,如果先去除重复再获得她在表中实际出现的次数。这条语句返回的第一条出现的次数是82次(未去除重复后的82次)SELECT DISTINCT stuName, re, projectName, className, count( * ) AS count FROM stu_class_xueke WHERE className='2012级幼教(9)班' GROUP BY stuName ORDER BY count DESC LIMIT 1SELECT distinct stuName,projectName,scores,re FROM stu_class_xueke where className='2012级幼教(9)班' AND stuName='刘小景'但是通过这条语句看到的结果数是37条,请问我怎么去除重复后能够获得实际的37条的次数信息你要取出有多少课程吗?? 对,我要取出学习课程最多的那个人和其所学实际课程数37,中间不包含重复的。否则的话我就需要两条语句来实现。
经过测试,能够得到出现最多次数的那个学生,但是在表中出现的次数和去除重复出现的次数不一样,我想,如果先去除重复再获得她在表中实际出现的次数。这条语句返回的第一条出现的次数是82次(未去除重复后的82次)SELECT DISTINCT stuName, re, projectName, className, count( * ) AS count
FROM stu_class_xueke
WHERE className='2012级幼教(9)班'
GROUP BY stuName
ORDER BY count DESC
LIMIT 1SELECT distinct stuName,projectName,scores,re
FROM stu_class_xueke
where className='2012级幼教(9)班' AND stuName='刘小景'但是通过这条语句看到的结果数是37条,请问我怎么去除重复后能够获得实际的37条的次数信息
2 2
3 3
1 2
1 2
1 3
name id
select b.id,count(*) count1 from b
group by b.id
ORDER BY count1 DESC limit 1;
写个小例子
经过测试,能够得到出现最多次数的那个学生,但是在表中出现的次数和去除重复出现的次数不一样,我想,如果先去除重复再获得她在表中实际出现的次数。这条语句返回的第一条出现的次数是82次(未去除重复后的82次)SELECT DISTINCT stuName, re, projectName, className, count( * ) AS count
FROM stu_class_xueke
WHERE className='2012级幼教(9)班'
GROUP BY stuName
ORDER BY count DESC
LIMIT 1SELECT distinct stuName,projectName,scores,re
FROM stu_class_xueke
where className='2012级幼教(9)班' AND stuName='刘小景'但是通过这条语句看到的结果数是37条,请问我怎么去除重复后能够获得实际的37条的次数信息你要取出有多少课程吗??
SELECT DISTINCT stuName, re, projectName, className, count( * ) AS count
FROM stu_class_xueke
WHERE className='2012级幼教(9)班'
GROUP BY stuName
ORDER BY count DESC
LIMIT 6我这么写,结果给我报错啊
经过测试,能够得到出现最多次数的那个学生,但是在表中出现的次数和去除重复出现的次数不一样,我想,如果先去除重复再获得她在表中实际出现的次数。这条语句返回的第一条出现的次数是82次(未去除重复后的82次)SELECT DISTINCT stuName, re, projectName, className, count( * ) AS count
FROM stu_class_xueke
WHERE className='2012级幼教(9)班'
GROUP BY stuName
ORDER BY count DESC
LIMIT 1SELECT distinct stuName,projectName,scores,re
FROM stu_class_xueke
where className='2012级幼教(9)班' AND stuName='刘小景'但是通过这条语句看到的结果数是37条,请问我怎么去除重复后能够获得实际的37条的次数信息你要取出有多少课程吗??
对,我要取出学习课程最多的那个人和其所学实际课程数37,中间不包含重复的。否则的话我就需要两条语句来实现。
还有,我想问一点,比方说我取得了学习课程最多的那个学员的id以及所学的课程的名称,这时候,同班级其他学员没有他学的课程多的情况,我想让他们学课程少的也能查到学习课程多的那个课程名称,只不过取的的值为null,这样一个左外链接该怎么写,不知道我表述的绕口不绕口。这样吧 我那一个图形来表示一下把。实际表数据:
通过创建的视图或者连接查询语句查询出来的临时表:
想实现下面这个视图临时表,请问这个sql语句要怎么写?
参考一下这个贴子的提问方式http://bbs.csdn.net/topics/320211382
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
Navicat MySQL Data TransferSource Server : MySQL
Source Server Version : 50528
Source Host : localhost:3306
Source Database : jcmsdbTarget Server Type : MYSQL
Target Server Version : 50528
File Encoding : 65001Date: 2013-07-17 13:48:56
*/SET FOREIGN_KEY_CHECKS=0;-- ----------------------------
-- Table structure for `classtable`
-- ----------------------------
DROP TABLE IF EXISTS `classtable`;
CREATE TABLE `classtable` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`className` varchar(20) DEFAULT NULL,
`re` text,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8;-- ----------------------------
-- Records of classtable
-- ----------------------------
INSERT INTO `classtable` VALUES ('1', '2011级数控', '');
INSERT INTO `classtable` VALUES ('2', '2011级幼教(1)班', '');
INSERT INTO `classtable` VALUES ('3', '2011级幼教(2)班', '');
INSERT INTO `classtable` VALUES ('4', '2011级幼教(3)班', '');
INSERT INTO `classtable` VALUES ('5', '2011级幼教(4)班', '');
INSERT INTO `classtable` VALUES ('6', '2011级幼教(5)班', '');
INSERT INTO `classtable` VALUES ('7', '2011级幼教(6)班', '');
INSERT INTO `classtable` VALUES ('8', '2012级幼教(1)班', '');
INSERT INTO `classtable` VALUES ('9', '2012级幼教(2)班', '');
INSERT INTO `classtable` VALUES ('10', '2012级幼教(3)班', '');
INSERT INTO `classtable` VALUES ('13', '2012级幼教(4)班', '');
INSERT INTO `classtable` VALUES ('14', '2012级幼教(5)班', '');
INSERT INTO `classtable` VALUES ('15', '2012级幼教(6)班', '');
INSERT INTO `classtable` VALUES ('16', '2012级幼教(7)班', '');
INSERT INTO `classtable` VALUES ('17', '2012级幼教(8)班', '');
INSERT INTO `classtable` VALUES ('18', '2012级幼教(9)班', '');学生信息表:/*
Navicat MySQL Data TransferSource Server : MySQL
Source Server Version : 50528
Source Host : localhost:3306
Source Database : jcmsdbTarget Server Type : MYSQL
Target Server Version : 50528
File Encoding : 65001Date: 2013-07-17 13:50:32
*/SET FOREIGN_KEY_CHECKS=0;-- ----------------------------
-- Table structure for `studentinfo`
-- ----------------------------
DROP TABLE IF EXISTS `studentinfo`;
CREATE TABLE `studentinfo` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`classId` int(11) DEFAULT NULL COMMENT '级班',
`stuNo` varchar(20) DEFAULT NULL COMMENT '学籍号',
`stuName` varchar(10) DEFAULT NULL COMMENT '姓名',
`stuSex` varchar(10) DEFAULT NULL,
`stuCode` varchar(19) DEFAULT NULL COMMENT '身份证号',
`stuIntime` varchar(50) DEFAULT NULL COMMENT '入学时间',
`stuAddress` varchar(100) DEFAULT NULL COMMENT '家庭住址',
`stuProfessional` varchar(20) DEFAULT NULL COMMENT '专业',
`stuLeval` varchar(10) DEFAULT NULL COMMENT '学历层次',
`stuEducation` varchar(10) DEFAULT NULL COMMENT '制学',
`stuSpeak` varchar(20) DEFAULT NULL COMMENT '普通话证书',
`stuTeachar` varchar(50) DEFAULT NULL COMMENT '教师资格证',
`stuEnd` varchar(20) DEFAULT NULL COMMENT '毕业情况',
`re` varchar(50) DEFAULT NULL COMMENT '注备',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=787 DEFAULT CHARSET=utf8;-- ----------------------------
-- Records of studentinfo
-- ----------------------------
INSERT INTO `studentinfo` VALUES ('768', '18', '121448', '展雪会', '女', '412726199502203328', '2012', '郸城县丁村乡', '学前教育', '中专', '3年制', '暂无', '暂无', '在读', '12411100100781');
INSERT INTO `studentinfo` VALUES ('779', '18', '121459', '刘小景', '女', '411024199712274763', '2012', '鄢陵县只乐乡野岗村', '学前教育', '中专', '3年制', '暂无', '暂无', '在读', '12411100100792');
INSERT INTO `studentinfo` VALUES ('781', '18', '121461', '郑文祎', '女', '411024199812040729', '2012', '鄢陵县马栏乡', '学前教育', '中专', '3年制', '暂无', '暂无', '在读', '12411100100794');
学员所学科目表:/*
Navicat MySQL Data TransferSource Server : MySQL
Source Server Version : 50528
Source Host : localhost:3306
Source Database : jcmsdbTarget Server Type : MYSQL
Target Server Version : 50528
File Encoding : 65001Date: 2013-07-17 14:19:05
*/SET FOREIGN_KEY_CHECKS=0;-- ----------------------------
-- Table structure for `stuachievement`
-- ----------------------------
DROP TABLE IF EXISTS `stuachievement`;
CREATE TABLE `stuachievement` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`stuId` int(11) DEFAULT NULL COMMENT '学生id',
`projectName` varchar(20) DEFAULT NULL COMMENT '程课名称',
`achievement` varchar(10) DEFAULT NULL COMMENT '绩成',
`scores` varchar(10) DEFAULT NULL,
`re` varchar(50) DEFAULT NULL COMMENT '学期',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=51126 DEFAULT CHARSET=utf8;-- ----------------------------
-- Records of stuachievement
-- ----------------------------
INSERT INTO `stuachievement` VALUES ('10711', '768', '语文', '—', '6', '1');
INSERT INTO `stuachievement` VALUES ('10711', '768', '数学', '—', '6', '1');
INSERT INTO `stuachievement` VALUES ('10603', '779', '语文', '—', '0', '1');
INSERT INTO `stuachievement` VALUES ('10657', '779', '数学', '—', '0', '1');
INSERT INTO `stuachievement` VALUES ('10711', '779', '英语', '—', '6', '1');
INSERT INTO `stuachievement` VALUES ('10657', '779', '自然科学', '—', '0', '1');
INSERT INTO `stuachievement` VALUES ('10657', '781', '数学', '—', '0', '1');
INSERT INTO `stuachievement` VALUES ('10711', '781', '自然科学', '—', '6', '1');我最终想要实现的结果:
stuId stuName classId projectName scores re
------- ------- --------- ----------- ------ -----------------
779 刘小景 18 语文 0 1
779 刘小景 18 数学 0 1
779 刘小景 18 英语 6 1
779 刘小景 18 自然科学 0 1
781 展雪会 18 语文 6 1
781 展雪会 18 数学 6 1
781 展雪会 18 英语 null 1
781 展雪会 18 自然科学 null 1
768 郑文祎 18 语文 null 1
768 郑文祎 18 数学 6 1
768 郑文祎 18 英语 null 1
768 郑文祎 18 自然科学 6 1
请问这样一个结果级的sql语句怎么写呢?