【发布时间】:2018-11-06 00:51:36
【问题描述】:
我想在名为 w.toy_id 的列中找到重复次数最多的值,因为它与名为 ch.child_id 的另一列相关。 这就是为什么我在 JOIN 中而不是在 dream_toy 的位置创建它的原因,但现在它给了我错误:缺少表“w”的 FROM 子句条目。
我是 SQL 新手,所以如果这是一个愚蠢的问题,我深表歉意,但我已经为此坚持了几个小时,我很绝望。
谁能帮帮我?
FOR setof IN
SELECT ch.child_id,ch.child_name, ch.city
,SUM(l.number_toys)
,COUNT (l.letter_id)
,MAX(l.number_toys),
,dream_toy
FROM (CHILD ch LEFT JOIN LETTER l ON ch.child_id=l.child_id)
LEFT JOIN (SELECT w.toy_id
FROM WISHED_TOY w
GROUP BY w.toy_id
ORDER BY COUNT(w.toy_id)
LIMIT 1) dream_toy ON (w.letter_id=l.letter_id)
GROUP BY ch.child_id
ORDER BY -SUM(l.number_toys) ASC, ch.child_name ASC
LIMIT 10
LOOP
RETURN NEXT setof;
END LOOP
非常感谢!
【问题讨论】:
-
您能否分享一个具有所需输出的简单示例?
-
请提供样本数据。你有什么和你想要的结果集中的什么。
-
limit 10 有什么作用?这似乎不是要求的一部分。无论如何,如需进一步帮助,请参阅meta.stackoverflow.com/questions/333952/…
标签: mysql sql postgresql join syntax