gpt4 book ai didi

Mysql如何求和并显示为单行

转载 作者:行者123 更新时间:2023-11-29 12:00:08 26 4
gpt4 key购买 nike

我有一个投票 mysql 表,用户(用户列)可以投票 y 或 n。 (选项栏)

我的表结构如下:

| id | option | user | | 1  | y      | jack | | 2  | n      | jack | | 3  | n      | michi| | 4  | n      | michi| 

我想做的是,选择不同的用户和计数选项并将其显示在单行中,如下所示:

| y | n || 1 | 2 |

我尝试了 GROUP_CONCAT() 和 SUM 但没有运气。你能帮我让这个sql工作吗?

谢谢。

最佳答案

Group 函数,如 GROUP_CONCAT()SUM()COUNT() 需要 GROUP BY 语句来了解要合并哪些行。

在您的查询中,您想要使用COUNT()

试试这个:

SELECT `option`, COUNT(DISTINCT `user`) AS users
FROM `table`
GROUP BY `option`

演示:http://sqlfiddle.com/#!9/705a9d/3

这将显示每个选项一行。如果您想在一行中同时使用这两个选项,那就有点棘手了。您需要对每个选项使用子查询。

SELECT (
SELECT COUNT(DISTINCT `user`)
FROM `table`
WHERE `option` = 'y'
) AS y, (
SELECT COUNT(DISTINCT `user`)
FROM `table`
WHERE `option` = 'n'
) AS n

演示:http://sqlfiddle.com/#!9/705a9d/4

注意:您可以使用COUNT()而不使用GROUP BY。这将使查询将所有找到的行组合在一起。

关于Mysql如何求和并显示为单行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32528312/

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