我对数据库相当新,我刚刚开始理解DML /查询,我有两个表,一个名为customer的客户数据和一个名为requested_games,这包含客户要求的游戏,我想写一个将返回请求超过两个游戏的客户的查询,到目前为止,当我运行查询时,我没有得到所需的结果,不确定我是否做得对。
任何人都可以帮助这个感谢,
以下是查询的片段
select customers.customer_name, wants_list.requested_game, wants_list.wantslists_id,count(wants_list.customers_ID)
from customers, wants_list
where customers.customers_ID = wants_list.customers_id
and wants_list.wantslists_id = wants_list.wantslists_id
and wants_list.requested_game > '2';
答案 0 :(得分:0)
只包含一个HAVING子句
GROUP BY customers_ID
HAVING COUNT(*) > 2
取决于您可能需要进行数据设置的方式
HAVING COUNT(wants_list.requested_game) > 2
这就是我想描述查询如何工作的方式,也许它可以帮助您可视化查询的执行方式:)
SELECT
正在餐厅点餐....
FROM
是您要订购的菜单....
JOIN
是您要包含的菜单部分
WHERE
是您想要对订单进行的任何定制(也就是没有蘑菇)....
GROUP BY
(以及之后的任何内容)是在订单完成后出现在您的桌子上......
GROUP BY
告诉您的服务器将您的食物类型组合在一起
ORDER BY
正在说你想要的菜(我想要我的主菜然后是甜点然后是开胃菜)
HAVING
可以用来挑选任何意外留在盘子上的蘑菇.......
等等。
答案 1 :(得分:0)
我想写一个将返回客户的查询 要求超过两场比赛
为此,您需要执行以下操作
与以下查询类似
SELECT customers.customer_id, customers.customer_name, game_count
FROM (SELECT customer_id, count(wantslists_id) AS game_count
FROM wants_list
GROUP BY customer_id
HAVING count(requested_game) > '2') temp
JOIN customers ON customers.customer_id = temp.customer_id