所以我应该做一个输出内容的查询,现在我们已经获得了一个已经建立的数据库+其中的一些信息。
必须输出在01年5月1日的活动中在8号酒吧工作的学生姓名而不是ID。
此查询所需的2个表是
学生:身份证,姓名,ADRESS,BSN,ADRESS2,BANK,SEX
和
ORDERS:ID,DATEORDER,BARS_ID,STUDENTS_ID
现在我被要求提供一个查询,该查询提供了在5月1日至16日在8号栏工作的人员的姓名。
这就是我想出来的作品,
SELECT ORDERS.ID, STUDENTS.NAME, ORDERS.DATEORDER
FROM ORDERS
INNER JOIN STUDENTS
ON ORDERS.STUDENTS_ID=STUDENTS.ID
WHERE (BARS_ID = '8') AND (DATEORDER = '01-MAY-16')
ORDER BY STUDENTS.NAME;
现在它输出正确的数据,但问题是它显示了学生一晚上填写的所有1200个订单。相反,我想只显示在那里工作的学生的列表。而不是每个记录1在屏幕上飞过。
意思是我必须使用GROUP BY
和COUNT
,但每次我尝试这个时,它都不会让我,我已经搜索了高低,但是无法让它工作,指出它让我疯狂:(
答案 0 :(得分:1)
SELECT STUDENTS.NAME, count(*)
FROM ORDERS
INNER JOIN STUDENTS
ON ORDERS.STUDENTS_ID = STUDENTS.ID
WHERE BARS_ID = '8' AND DATEORDER = '01-MAY-16'
GROUP BY STUDENTS.NAME;