m***c 发帖数: 257 | 1 缺个表记录students 和 courses的对应关系(M to N)
enroll(studentID, coursename, enrolltime)
primary key(studentID, course name, enroll time)
foreign key(studentID) references students(studentID)
foreign key(coursename) form students(coursename)
SELECT S.studentID, S.studentname
FROM students AS S INNER JOIN enroll AS E ON S.studentID= E.studentID
GROUP BY S.studentID, S.studentname
HAVING COUNT(*) = (SELECT COUNT(*) FROM courses)
看《数据库系统导论》吧 |
|
g*****u 发帖数: 298 | 2 这可不见得。
首先,select count(distinct studentid)并不是只读一个column。这个是先select整
个table,然后project studentid。对于row store db,最小读取的单位是row,没有说一
次读一个column的。
其次,select count(distinct studentid)要做duplicate elimination。当studentid
没有index的时候,数据库需要做sort或者hash,速度可能比count(*)慢几百倍,尽管
select count(*)也会scan整个table或clustered index
用select count(distinct studentid)?这个只用比较一个studentid字段,而select
count(*)要比较所有字段,慢上几倍。 |
|
c*****i 发帖数: 1392 | 3 Q1:
data flag(drop=prevID prevscore);
set StudentScore;
if _n_=1 then flag=0;
else do;
set StudentScore(drop=year rename=(studentID=prevID score=prevscore));
if studentID ^= prevID then flag=0;
else if score
else flag=1;
end;
run;
Q2:
proc sort data=StudentScore;
by studentID year score;
run;
data StudentScoreNew;
set StudentScore;
by studentID year score;
if last.studentID;
run; |
|
s********u 发帖数: 1109 | 4 我可能是没理解你的说法,
但是比如
SELECT StudentID,SUM(Scores)
FROM StudentAndScores
GROUP BY StudentID
就是计算每个student的总分。显然是合乎逻辑的吧。这里sum的对象如果是studentID
,反而没有意义了。
您是想说,只有有group by的话,aggregate才有意义? |
|
s****e 发帖数: 282 | 5 Thanks.
How about the following two indexes:
1.
CREATE UNIQUE INDEX sid ON mytable (StudentID, ClassName)
This is for search like: SELECT * WHERE mytable.StudentID==100
2.
CREATE UNIQUE INDEX class ON mytable (ClassName, StudentID)
This is for search like: SELECT * WHERE mytable.ClassName==class2 |
|
B*****g 发帖数: 34098 | 6 I think 1 is only good (compare to index(StudentID))for
SELECT StudentID, ClassName WHERE mytable.StudentID==100
But if you server is "strong", I think your design is good. |
|
s*****p 发帖数: 5342 | 7 I user HibernateTemplate to use hibernate. However, I met a problem on
session lost or session close.Basically, I did:
Database relationship: 1 student -> n courses
public class Student {
String studentId;
Collection courses;
...
public Collection getCourses(){
return courses;
}
}
public class StudentDAO {
public Student getStudent(String studentId) {
return getHibernateTemplate().get(Student.class, studentId);
}
}
I can get Student object through StudentDAO.
Student student = (S |
|
B*********e 发帖数: 9 | 8 真屈辱,心情恢复平静中。
写出来大家面他家的时候也做好思想准备吧
L公司刚上市,现在狂招人中,不知道是不是大家都cash out了。
本来要面9个人,后来只见了3个。就被人家说“I do not think we should carry on, in respectful of your time and our time”
写写吧,攒rp。大家轻拍,知道自己业务知识不强,回家读书过后再来过。
第一场本来要见host manager,后来跑来两个engineer说调换一下顺序。没有寒暄,直接问,我们问你technical的问题。
第一个给你一个FilterIterator Class(predicate p, iterator i), 写
bool hasnext() 还有bool next()
搞了半天什么是predicate,还有那个iterator i到底是哪个list上头的。但是后来这个在对方提示下写的差不多了。
第二个说给你一个很长的string list,让你分行打印。然后告诉你一行只能写L(比如
25)个字符,而且首位和末尾不能是空格,空格只能在中间,两个词中间可以空两... 阅读全帖 |
|
r********3 发帖数: 2998 | 9 呵呵,一般考memory allocate等细节,可以看出这个人是工程派还是面试派的。
那个Predicate是javax.sql.rowset的interface, for all FilteredRowSet。考这道题
,就是看你真的熟悉JDBC不。熟悉JDBC的人,几乎背都可以背得出来。不熟悉的人,一
下子还很难明白题目的意思。这个题目,明显不是靠楼主算法,思维的能力,而仅仅也
是想鉴别楼主到底是工程派还是面试派。
LZ的sql方面问题不是很大,但是也不够好。首先你的课程号怎么没有年份?semester
这些。大家选课的时候,难道不考虑是哪个学期的课程吗?
其次varchar到底有多长?是varchar(10)还是varchar(4096)甚至还是long varchar?
是不是unique的?varchar在数据库里面的存储空间是固定的,所以用不好容易造成空
间浪费,而且在读数据的时候也造成Disk I/O的浪费。这个表很小,disk i/o上的浪费
可能比你实际要用的数据都还大。起码你的rowid应该用unique bigint?还有你的rowid
是auto-increm... 阅读全帖 |
|
b******u 发帖数: 81 | 10 select
studentid
from
Grade
group by
studentid
having
(
max(case when grade = 'A' then 1 else 0 end ) = 0 and
max(case when grade = 'F' then 1 else 0 end ) = 0
) |
|
n******6 发帖数: 1829 | 11 【 以下文字转载自 JobHunting 讨论区 】
发信人: BrightSmile (BrightSmile), 信区: JobHunting
标 题: 去某刚上市公司面试被赶出来了。
发信站: BBS 未名空间站 (Thu Aug 11 17:07:23 2011, 美东)
真屈辱,心情恢复平静中。
写出来大家面他家的时候也做好思想准备吧
L公司刚上市,现在狂招人中,不知道是不是大家都cash out了。
本来要面9个人,后来只见了3个。就被人家说“I do not think we should carry on, in respectful of your time and our time”
写写吧,攒rp。大家轻拍,知道自己业务知识不强,回家读书过后再来过。
第一场本来要见host manager,后来跑来两个engineer说调换一下顺序。没有寒暄,直接问,我们问你technical的问题。
第一个给你一个FilterIterator Class(predicate p, iterator i), 写
bool hasnext() 还有bool next()
搞了半天... 阅读全帖 |
|
s****e 发帖数: 282 | 12 Design a table managing students and classes that a student takes.
There are two ways:
1. Using a vector as a column. The number of bits is equal to the number of
classes. "1" means enrolling in a class. "0" means not.
StudentID Class-vector
100 00110100
101 11010000
2. Use class name as a column.
StudentID ClassName
100 class3
100 class4
100 class6
101 class1
101 class2
101 class4
The number of class is not fixed. So |
|
s****e 发帖数: 282 | 13 If I create index only on the first column, like:
CREATE INDEX sid ON mytable (StudentID)
The index will not be an unique index. The following query will return many
rows, right?
SELECT StudentID, ClassName WHERE mytable.Student ID = 100 |
|
F****n 发帖数: 3271 | 14 You can map both Student and Course to Score as Many to one.
@Entity
@IdClass(ScoreId.class)
public class Score {
@Id
private int studentId;
@Id
private int courseId;
@ManyToOne
@JoinColumn(name="studentId")
private Student student;
@ManyToOne
@JoinColumn(name="courseId")
private Course course
}
@Entity
public class Student {
...
@OneToMany (mappedBy="student")
private Collection scores;
}
@Entity
public class Course {
...
@OneToMany( |
|
n*****5 发帖数: 61 | 15 Consider the following dataset:
data StudentScore;
length studentID $ 1. year 3. score 3.;
input studentID year score;
datalines;
A 91 400
A 92 398
A 92 399
B 91 430
B 92 432
B 93 444
B 94 446
C 91 455
C 92 423
C 93 411
C 94 415
C 95 427
C 95 418
run;
Q1. Create a variable called “Flag” which indicates whether a student’s
score increased or decreased from the previous record in the data. Mark a “
0” for records where the student’s s... 阅读全帖 |
|
a****y 发帖数: 1719 | 16 我也是刚学sas 试着写了一个,不知道对不对,你可以参考一下
data studentscore;
set studentscore;
by studentid;
retain temp flag;
if first.studentid then do;
temp=score;
flag=0;
end;
if temp < score then do;
flag=1;
temp=score;
end;
if temp > score then do;
flag=0;
temp=score;
end;
run; |
|
|
|
b********2 发帖数: 855 | 19 前面说的我全不知道,SQL我说下
估计人家是觉得varchar不够好吧,要用int
RegistrationID int (PK),
StudentID int (FK)
ClassID int (FK)
这不就够了?Call的时候,人家估计是想看你用join吧。。。呵呵 |
|
H***e 发帖数: 476 | 20 1。很多hadoop相关的问题,mapred整个流程,碰到过的出现的问题,设计有什么flaws
, hadoop和relational db的比较; speculative execution, 我知道这个机制,但是没
有跟名字对上号..就说没听说过。
2。mapreduce怎么实现select count group by; 如何一次mapred实现两个group by
(stduentId, courseId)
select count * from table group by studentId;
select count * from table group by courseId;
3。两个element加起来target的经典题
4。实现一个Boundedqueue,threadsafe,并且最佳化性能。
都答出来了,但是hadoop那些模糊问题的就答得不好。 |
|
d********w 发帖数: 363 | 21 赞,关于第二题在hadoop中有个叫secondary sort,
在parittion时候可以使得键值组成的key,同样的键在同一个分区中。这样行么
map:
emit(pair, value>
partition:
super.partition(key.get(1))
flaws |
|
H***e 发帖数: 476 | 22 我就说了最简单的,每次map emit两次, 一次key studentID value courseId
一次key course, value student, 最后都柔和在一个文件里了,再做些post
processing。 他说good,也没说有问题. |
|
J****3 发帖数: 427 | 23 刚做的 发上来攒人品
1. detect cycle in LL
2. struct TestRest{
int studentId;
string data;
int score;
}
implement func map calculateFinalScore(vector
results)
3. merge two sorted lists |
|
|
A***a 发帖数: 2211 | 25 missing at least one table.
you should have registration table (regID, studentID, course ID, )
this is a very basic sql joint. Be confident. Just tell the interviewer that
he/she did not provide enought info.
student
AM? |
|
c*******e 发帖数: 70 | 26 第一次试水北美找工作,前前后后持续4个月,拿到Amazon Fulltime offer,Google
Intern Host Match offer, 感谢那些一起刷题的朋友,感谢 watercold 帮主的帮助,
dgs的帮忙! 刷题群:229623621
资料: introduction to algorithm; cracking code;
Amazon:
Amazon 首先进行online assessment,经典7道题碰上了三题;
1: single linked list circle detection (命中)
2: sum up array of numbers in window size (命中)
3: matrix path,只能往左或往右,要求使得path上的number的最小值最大
4: linked list的倒数第K个节点
5: Give student result structure:
struct Result{
int studentID;
string data;
int ... 阅读全帖 |
|
J*****n 发帖数: 137 | 27 刚才找到了 谢谢crownrose, 原帖 http://www.mitbbs.com/article_t/JobHunting/32652879.html
1: single linked list circle detection (命中)
2: sum up array of numbers in window size (命中)
3: matrix path,只能往左或往右,要求使得path上的number的最小值最大
4: linked list的倒数第K个节点
5: Give student result structure:
struct Result{
int studentID;
string data;
int testScore;
}
给一个result的vector,返回一个map (命中)
6:Merge 2 sorted linkedList
7:求数组中出现频率最高的数 |
|
|
w***y 发帖数: 6251 | 29 我还遇到另外一个sql题,是看面经里的。也不会做 //汗
SQL:一个学生enrollment table,里面的数据是
studentID, courseID, grade
求每个学生的最好成绩,和对应的courseID。如果highest grade有duplicate怎么办?
这个好像涉及到对每个group进行rank,然后取top K, 也是一种常见的题目。 怎么做
呢? 我在网上搜的答案,有的SQL支持 类似row_number() 这种function,好像mysql
是没有的,需要自己定义local variable 去做。 我想不明白有duplicate怎么处理,
是不是写一个case 来判断? 今天现学的case statement,还有点搞不定 |
|
E********r 发帖数: 99 | 30 请问一个数据库连接的问题
我用ASP连接ACCESS数据库
尝试用了两种连接方式:
第一种是用DSN的,在执行任何SQL语句的时候
都没有问题。
但如果改成如下方法:
cn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" & server.mappath("f
pdb\db1.mdb")
在执行INSERT,UPDATE操作比如:
sql2 = "INSERT INTO StudentInfo(StudentID) VALUES(1234567)"
cn.Execute sql2
结果就会出错:
Microsoft JET Database Engine error '80004005'
Operation must use an updateable query.
我感到十分困惑,请指点。谢谢。 |
|
n********6 发帖数: 1511 | 31 Yeah.
It's better to understand what are the most frequently used query.
If a lot of request for
SELECT StudentID, ClassName WHERE mytable.Student ID = 100
then it is good. |
|
b******e 发帖数: 1861 | 32 现在碰到一个问题,
我有两个entity classes通过many to many association联系在一起。在schema上是三
个表,两个主table,一个association table。
It looks like this.
Student table
student id, other columns
student_class table
student id, class id, class name
class table
class id, other columns
class Student
{
long studentId;
other fields.
Map classMap;
}
class Class
{
long classId;
other fields.
}
阅读全帖 |
|
l***1 发帖数: 22 | 33 比如有一个class
class student
{
int studentID;
float height;
};
studentA student;
然后在运行中,要找出有多少member在studentA里,并且知道它们的名字,类型,得到
它们的指针。
还是老老实实在程序里写出各变量名? |
|
w*****s 发帖数: 122 | 34 访问XML对象模式
什么是XML对象模式?
微软IE5中的XML解析器揭示了XML对象模式,允许你访问和处理XML文档中的节点。当
解析器读取并且解析一个XML文档时,它将建立一棵节点树,每个节点都能通过脚本
来访问。例如,如果解析器读取并且解析下面的XML文档,它将创建一个能通过文档
ID值(xmlDocument)被引用的文档对象,一个表现根节点的对象和一个表现树中其余
节点的对象。
怎样访问树中的节点?
请试着在下面的数据岛中找出访问每个节点所需要的代码。
Jane Smith
3.8
|
|