为什么我不能在select语句中使用这些列?是否有必要使用此类组函数GROUP BY c.CLIENT_ID,c.FNAME, c.LNAME
。如何解决这个问题?
SELECT
c.CLIENT_ID, c.FNAME, c.LNAME, COUNT(*)
FROM
RACE r
JOIN VAGON v
ON r.RACE_ID = v.RACE_ID
JOIN TICKET t
ON v.VAGON_ID = t.VAGON_ID
JOIN CLIENT c
ON c.CLIENT_ID = t.CLIENT_ID
WHERE r.DEPART_PLACE = 'Lviv' AND r.DESTINATION_PLACE = 'Kyiv';
GROUP BY c.CLIENT_ID
HAVING COUNT(*) >= 2
答案 0 :(得分:0)
你自己给出了答案。是的,您需要group by
中的列或使用聚合函数(例如min
或max
。
<强>为什么吗
您知道Client_ID
行使该行唯一,但数据库并不是。所以你必须告诉它,以便让它确定如何构造和应该执行查询。
您应该在;
'Kyiv';
答案 1 :(得分:0)
除了表达式之外,您选择的所有列都应添加到组中。 为什么? 因为这个小组以独特的方式工作。