[英]Select Distinct using a join
select DISTINCT cid,cname,tid from colors c left join tags t on t.tname = c.cname;
颜色:
cid cname
1红
2蓝色
3绿色
标签:
tid tname
1红
2红
3蓝色
4绿色
当前结果:
1红1
1红色2
2蓝色3
3绿色4
预期结果:
1红1
2蓝色3
3绿色4
该查询应符合您的预期结果
select cid,cname,tid
from colors c
left join tags t on t.tname = c.cname;
group by c.cid
select
cid, cname, tid
from
colors c
left join
tags t ON t.tname = c.cname
GROUP BY c.cname,c.cid,t.tid;
GROUP BY标签名称
select DISTINCT cid,cname,tid
from colors c
left join tags t on t.tname = c.cname;
GROUP BY t.name
我没有mysql尝试此操作,但这应该可以帮助您。 还有一件事是您不能直接在您的查询中使用tid
,而需要对其进行计数。
select cid, cname, count(tid)
from Color c
left join tags t on t.name = c.cname
GROUP BY cname;
使用group by
select cid,cname,tid
from colors c
left join tags t on t.tname = c.cname
group by cid,cname,tid;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.