Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.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
只为一个部门分组数据,将另一个部门留在mysql上_Mysql_Sql - Fatal编程技术网

只为一个部门分组数据,将另一个部门留在mysql上

只为一个部门分组数据,将另一个部门留在mysql上,mysql,sql,Mysql,Sql,我有一个包含数据的表y,我想将department=1和department=0的数据分组,以保持独立 查询之前的我的表 labref department x 1 x 1 x 1 x 0 x 0 x 0 查询后的结果应该是什么样子 labref department x 1 x 0 x

我有一个包含数据的表y,我想将department=1和department=0的数据分组,以保持独立

查询之前的我的表

labref     department

  x          1
  x          1
  x          1
  x          0
  x          0
  x          0
查询后的结果应该是什么样子

labref     department

  x          1
  x          0
  x          0
  x          0
我试过的问题

SELECT * 
FROM `y` 
WHERE labref='x' 
group by department 
Having department='1'

建议

使用两个查询并使用
UNION ALL
组合它们的结果:

SELECT DISTINCT *
FROM y
WHERE department = 1
UNION ALL
SELECT *
FROM y
WHERE department = 0

演示:

使用两个查询,并使用UNION ALL将它们的结果合并起来:

SELECT DISTINCT *
FROM y
WHERE department = 1
UNION ALL
SELECT *
FROM y
WHERE department = 0

演示:

使用两个查询,并使用UNION ALL将它们的结果合并起来:

SELECT DISTINCT *
FROM y
WHERE department = 1
UNION ALL
SELECT *
FROM y
WHERE department = 0

演示:

使用两个查询,并使用UNION ALL将它们的结果合并起来:

SELECT DISTINCT *
FROM y
WHERE department = 1
UNION ALL
SELECT *
FROM y
WHERE department = 0

演示:

我认为@kordirko的答案非常接近,只是他没有将使用分组

SELECT DISTINCT *
FROM y
WHERE department = 1
group by department
UNION ALL
SELECT *
FROM y
WHERE department = 0
但你也可以简单地使用

SELECT * 
from y
group by if(y.department = 1, y.department, y.id)
(或表y的主键)


为了得到更好的答案,只需给出更现实的查询-
select*。。。“分组依据”
并不是你的问题。

我认为@kordirko的答案非常接近,只是他没有分组使用

SELECT DISTINCT *
FROM y
WHERE department = 1
group by department
UNION ALL
SELECT *
FROM y
WHERE department = 0
但你也可以简单地使用

SELECT * 
from y
group by if(y.department = 1, y.department, y.id)
(或表y的主键)


为了得到更好的答案,只需给出更现实的查询-
select*。。。“分组依据”
并不是你的问题。

我认为@kordirko的答案非常接近,只是他没有分组使用

SELECT DISTINCT *
FROM y
WHERE department = 1
group by department
UNION ALL
SELECT *
FROM y
WHERE department = 0
但你也可以简单地使用

SELECT * 
from y
group by if(y.department = 1, y.department, y.id)
(或表y的主键)


为了得到更好的答案,只需给出更现实的查询-
select*。。。“分组依据”
并不是你的问题。

我认为@kordirko的答案非常接近,只是他没有分组使用

SELECT DISTINCT *
FROM y
WHERE department = 1
group by department
UNION ALL
SELECT *
FROM y
WHERE department = 0
但你也可以简单地使用

SELECT * 
from y
group by if(y.department = 1, y.department, y.id)
(或表y的主键)


为了得到更好的答案,只需给出更现实的查询-
select*。。。我想分组依据并不是你真正的问题。

我只能在这里猜测,但可能他有一些列要使分组依据不同于他真正问题中的选择不同。我只能在这里猜测,但是,他可能有一些列要做一个
分组依据
不同于他的真实问题中的
选择不同的
。我只能在这里猜测,但他可能有一些列要做一个
分组依据
不同于他的真实问题中的
选择不同的
。我只能在这里猜测,但他可能有一些专栏,让他在真实问题中的
分组方式不同于
选择不同的
。这个问题会更模糊吗?这个问题会更模糊吗?这个问题会更模糊吗?这个问题会更模糊吗?这个问题会更模糊吗?