【发布时间】:2025-11-26 08:35:01
【问题描述】:
我有 2 张桌子,table1 所选食物的名称 table2 为用户选择的早餐、午餐、晚餐、...
表 1:
id name
0 Apple
1 watermelon
2 Pear
3 Peach
4 Walnut
. .
200 Apricot
表 2:
id username breakfast lunch dinner Meal1 Meal2 Meal3
0 Dave apple null Pear null null watermelon
1 John walnut Peach Pear Apricot null apple
. .... ...... ..... .... ....... .... .....
900 Ray walnut Peach Pear Apricot null apple
注意:用户在用餐时不能多次选择苹果。
我想知道每位厨师为这位客人准备的食物数量:
apple 400
Pear 399
Peach 398
我试过了:
SELECT breakfast, COUNT( * ) AS value
FROM table2
WHERE breakfast != ""
GROUP BY breakfast
ORDER BY `value` DESC
LIMIT 0 , 30
但这不是我想要的,如果用户只想要晚餐,结果中不会出现食物的名称。 谢谢。
【问题讨论】:
-
应该尝试家庭作业。
-
查看规范化
-
@Strawberry 谢谢你的时间。
标签: mysql sql-server