MYSQL - 显示ID在列

时间:2017-08-04 04:43:20

标签: mysql sql

任何人都可以指出以下代码有什么问题

---用正确的答案编辑---

SELECT hist.TutorID, FirstName, LastName, COUNT(hist.TutorID) as 
number_students
FROM match_history as hist
JOIN tutor ON tutor.TutorID 
WHERE hist.TutorID = tutor.TutorID
GROUP BY hist.TutorID
HAVING (number_students > 1)

4 个答案:

答案 0 :(得分:0)

将“group by”添加到子查询和IN in where子句:

SELECT tut.TutorID, FirstName, LastName
FROM tutor AS tut
WHERE tutorid in (SELECT TutorID FROM match_history group by tutorid HAVING COUNT(TutorID) >1);

希望Tutor表中的名字和姓氏。或者提供表格结构。

答案 1 :(得分:0)

SELECT tut.TutorID, FirstName, LastName
FROM tutor AS tut, match_history as hist
WHERE tut.TutorID in (SELECT TutorID FROM match_history GROUP BY TutorID HAVING COUNT(TutorID) > 1);

内部选择提供了具有计数>的TutorID列表。 1,外部选择仅从内部选择提供的id列表中获取id和其他列。

答案 2 :(得分:0)

SELECT tut.TutorID, 
FirstName, 
LastName
FROM tutor AS tut
LEFT JOIN match_history hist ON (tut.TutorID = hist.TutorID)
GROUP BY tut.TutorID
HAVING COUNT(hist.TutorID) > 1

答案 3 :(得分:0)

使用GROUP BY条款:

SELECT tut.TutorID, FirstName, LastNamecode 
FROM tutor AS tut, match_history as hist
WHERE tut.TutorID in (SELECT TutorID FROM match_history 
GROUP BY TutorID   
HAVING COUNT(TutorID) > 1);