gpt4 book ai didi

mysql - 总列和部分列/列作为总列

转载 作者:行者123 更新时间:2023-11-29 14:25:36 25 4
gpt4 key购买 nike

我有下表列出了所有获奖奖杯:<小时/>

Name: Cups
Columns: Month, Cup, User

Example:
Month | Cup__ | User__
_____ | _____ | ______
Febru | Cup_1 | User_1
Febru | Cup_2 | User_1
March | Cup_1 | User_1
March | Cup_2 | User_2
April | Cup_2 | User_2

*There are only 2 different cups
<小时/>

我知道如何获取每个用户拥有多少奖励 (COUNT),即使是某种类型的奖励 (WHERE Cup=Cup_1),但如何在同一个查询中获取所有这些奖励?

基于上表的示例:

<小时/>
User__ | Total | Cup_1 | Cup_2
______ | _____ | _____ | _____
User_1 | __3__ | __2__ | __1__
User_2 | __2__ | __0__ | __2__

User_1 has 3 cups, 2 of Cup_1 and 1 Cup_2.
User_2 has 2 cups, 2 of Cup_2.
<小时/>

基本上,总列是其他列的总和。

最佳答案

这有点乏味,但看起来像这样

SELECT User, COUNT(*) AS Total, SUM(IF(Cup = "Cup_1", 1, 0)) AS Cup_1, SUM(IF(Cup = "Cup_2", 1, 0)) AS Cup_2 FROM Cups GROUP BY User

我使用带有条件语句的 SUM 来确定杯子是否与我要查找的值匹配。如果匹配则加 1,如果不匹配则加 0。如前所述,这有点乏味,但肯定会起作用!

关于mysql - 总列和部分列/列作为总列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11031639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com