正如你在下表中看到的,有些食谱有2种或更多口味,但有些只有1种。我想拿回一张桌子,上面有单味食谱的风味id和风味量。我设法得到了一些信息,但我也不能接受味道的量。。
我最近得到的是这个问题

SELECT COUNT('flavor_id') as flavors, `recipe_id`,
MAX(flavor_id) as flavor_id
FROM `flavor_recipe`
GROUP BY `recipe_id`
HAVING flavors = 1;

但还是没什么。有什么帮助吗?谢谢您。
mysql - SQL-如何从中间表中获取单一 flavor 配方-LMLPHP

最佳答案

当启用ONLY_FULL_GROUP_BYSQL模式时,可以使用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-如何从中间表中获取单一 flavor 配方,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50281527/

10-09 18:47