[英]Select Join two tables in mysql with a count/group on both
我正在学习如何从两个具有where子句的表中进行选择以匹配使用一个字段的记录。 到目前为止,我可以在另一个表上使用分组/计数
Select count(*),t1.*,t2.all
from t1,t2
where t1.Name=t2.name
group by T1.date
having count(*)>1
要么
Select count(*),t1.*,t2.all
from t1,t2
where t1.Name=t2.name
group by T2.order
# having count(*)>1
但是在两个计数均大于1(或我选择的任何其他#)的情况下,我无法执行此操作。
我尝试做table.count(*)例如
Select t1.count(*),t1.*,t2.all
from t1,t2
where t1.Name=t2.name
group by T1.date
having count(*)>1
但是mysql抛出一个错误。 本质上,我想在表之间给出各种计数要求以获取报告,但只有一个计数是行不通的。
这是一个SQL提琴,带有来自table1的计数查询,来自table2的计数,并查找一个同时计数的表和一个获得Table2中所有Recods的表,其中Table1的计数>(sqlfiddle中的注释)
您应该阅读有关JOIN
并避免使用FROM t1, t2
。
因此,我猜您编写的最后一个查询应该是这样的:
SELECT count(t1.id),
t1.*,
t2.all
FROM t2
LEFT JOIN t1
ON t1.Name=t2.name
GROUP BY T1.date
HAVING count(t1.id)>1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.