Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL仅支持不同的列数据_Sql_Database - Fatal编程技术网

SQL仅支持不同的列数据

SQL仅支持不同的列数据,sql,database,Sql,Database,我的数据库给我以下数据 Col1 Col2 Col3 Col4 data1 data2 1 data3 data1 data2 1 data3 data1 data2 2 data3 data1 data2 2 data3 data1 data2 2 data3 我想要下面的结果。只是在Col3中有所不同 Col1 Col2 Col3 Col4 data1 data2 1 data3 data1 data2 2 data3 这正是distin

我的数据库给我以下数据

Col1  Col2  Col3 Col4
data1 data2 1    data3
data1 data2 1    data3
data1 data2 2    data3
data1 data2 2    data3
data1 data2 2    data3
我想要下面的结果。只是在Col3中有所不同

Col1  Col2  Col3 Col4
data1 data2 1    data3
data1 data2 2    data3

这正是
distinct
修饰符所做的:

SELECT DISTINCT col1, col2, col3, col4
FROM   my_table
下面是一个用于显示结果的示例。

分组依据应生成您要查找的(假设您使用MS SQL):


您想要执行的选择实际上是不可能的。您可以为所有其他列提供分组函数(sum、ave、min、max、distinct…),也可以选择所有行

select MAX(col1), MAX(col2), col3, MAX(col4)
FROM myTable
group by col3;

可能您正在搜索此内容(假设您的评论):

试一试


你应该看一看:你应该解释你在使用什么查询,你想得到什么,尝试过的东西等等…只是在Col3中有所不同。不是@all@ReneB我不明白你的评论。请详细说明?清楚没有帮助;)点击次数相同。@ReneB检查sqlfidle I attachedi是否有+20个cols。这真的有必要吗?想不使用group by将其存档…嗯,这取决于您想要什么。根据你的问题,我会使用分组方式,是的。如果您添加了详细信息并详细阐述了您的问题,也许其他解决方案会更好。;-)无法对文本进行求和。:)用最大值或最小值代替。这当然是正确的。我真的在想,让我来解决这个问题。
select MAX(col1), MAX(col2), col3, MAX(col4)
FROM myTable
group by col3;
     SELECT DISTINCT COL1, COL2,A.Col3,COL4 FROM TEST_TABLE CROSS JOIN
      (SELECT DISTINCT COL3 FROM Test_table) A 
    SELECT col1, col2, col3, col4 FROM mytable GROUP BY col3