正如您在下表中看到的,一些食谱有 2 种或更多口味,但有些只有 1 种。我想取回一个表,其中包含单一口味食谱的 flavor_id 和 flavor_amount。我设法找回了一些信息,但我也不能接受 flavor_amount .. 我得到的最接近的是这个查询
SELECT COUNT('flavor_id') as flavors, `recipe_id`,
MAX(flavor_id) as flavor_id
FROM `flavor_recipe`
GROUP BY `recipe_id`
HAVING flavors = 1;
但还是没有。有什么帮助吗?谢谢。
最佳答案
当您启用了 ONLY_FULL_GROUP_BY
SQL 模式时,您可以使用 ANY_VALUE()
禁用特定值的聚合检查。功能。
SELECT recipe_id, COUNT(*) AS flavors, ANY_VALUE(flavor_id) AS flavor_id
FROM flavor_recipe
GROUP BY recipe_id
HAVING flavors = 1
关于mysql - Sql - 如何从中间表中获取单一口味的食谱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50281527/