我有一个包含数据的表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'


建议!

最佳答案

我认为@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 * ... group by并不是您真正的查询。

关于mysql - 仅将一个部门的数据分组,而将另一个部门留在mysql上,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23453391/

10-13 02:51