mysql - Sql - 如何从中间表中获取单一口味的食谱

标签 mysql sql phpmyadmin

正如您在下表中看到的,一些食谱有 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;

但还是没有。有什么帮助吗?谢谢。

enter image description here

最佳答案

当您启用了 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/

相关文章:

mysql - 如何使用 MySQL 根据第一个表中特定列中的值从 2 个表中获取记录数

mysql - 寻找一个选项来比较sql文件和csv格式的txt文件的数据

mysql - SQL select查询顺序通过添加两个字段表现

mysql - 在 phpmyadmin 中执行多个查询

mysql - 将我的 MySQL 数据库连接到 phpMyAdmin

php - 划分两列并将结果设置在第三个PHPMYADMIN?

php - 不断更新数字

java - 从数据库中的不同表检索数据发送要执行的SQL代码,返回数据?

mysql - Magento 中的 SQL 查询集合

php - 将 MySQL 数据分类为限制大小的页面,并在屏幕上选择更改页面?它是如何完成的?