我使用mysql。我的表看起来像这样:
最后我尝试使用此查询
SELECT * FROM movie GROUP BY `group` HAVING cateogry = 'TV'
我希望将此查询结果显示为:show all all GROUP BY TV类别,其中category =' TV'
我想要这个结果
但是我的查询给了我这个结果(将查询工作视为WHERE clouse)
如果我使用此QUERY
SELECT * FROM movie GROUP BY `group`
它给我这个结果
我想要 - > QUERY - > GROUP BY group
(ID号9和ID 1,2,3视为不同的组名)
如果
group
具有所有相同的值,但是category
='电影' (返回所有行程 分组不适用)如果
group
具有所有相同的值,但是category
=' TV' (通过APPLY返回1行组)
答案 0 :(得分:3)
您似乎想要此查询:
select m.*
from movie m join
(select `group`, min(id) as minid
from movie
group by `group`
) g
on m.id = g.minid;
答案 1 :(得分:1)
SELECT min(ID) as ID, min(Name), `group`, Category
FROM movie
GROUP BY `group`, Category
ORDER BY ID
答案 2 :(得分:0)
您尝试过以下吗?我觉得你很亲密。就像您将“小组”分组时一样。您还将分组类别为电影的那个。因此,您只需要创建一个单独的组类别。
SELECT * FROM movie
WHERE group = 't'
GROUP BY group, Category
ORDER BY ID