sql - 使用sql从多个字段中选择不同的字段

标签 sql select distinct

我有 5 列对应于琐事游戏数据库中的答案 - 正确、错误 1、错误 2、错误 3、错误 4

我想返回没有重复的所有可能的答案。我希望在不使用临时表的情况下完成此操作。是否可以使用类似的东西?:

select c1, c2, count(*)
from t
group by c1, c2

但这会返回 3 列。我想要一列不同的答案。

谢谢你的时间

最佳答案

这应该为您提供表中所有不同的值。我想您想添加 where 子句以仅针对特定问题进行选择。但是,此解决方案需要 5 个子查询,如果您的表很大,则速度可能会很慢。

SELECT DISTINCT(ans) FROM (
    SELECT right AS ans FROM answers
    UNION
    SELECT wrong1 AS ans FROM answers
    UNION
    SELECT wrong2 AS ans FROM answers
    UNION
    SELECT wrong3 AS ans FROM answers
    UNION
    SELECT wrong4 AS ans FROM answers
) AS Temp

关于sql - 使用sql从多个字段中选择不同的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/546804/

相关文章:

sql-server-2005 - 对大量数据选择 Count(*)

php - 如何使用 INNER JOIN 为每个用户获取 1 行

count - Spark:如何转换Dataframe API的count(distinct(value))

mysql - 将两个 SQL 查询与多个表连接起来

javascript - d3 选择具有特定类别的任何内容

javascript - 如何在 jquery 中添加选项以选择 optgroup?

mysql - 为每个组选择具有最高值的整个记录

MySQL:从带有锁的另一个表创建一个表

php - 使用一个 sql 查询的结果来获取另一个 sql 查询的结果 - moveNext 放在哪里

mysql - 使用连接、分组依据和聚合函数的 SQL 选择查询