我在MySQL中有两个表,如下所示:
ID Name Information
1 A fsdf
2 B ada
3 A dsafd
4 A retret
5 C asdfsa
6 B xzc
和
P_ID Name Loc_X Loc_Y
1 A 2 3
2 B 3 4
3 C 4 5
我想在MySQL中运行一个返回结果的查询,如下所示:
NAME COUNT Loc_X Loc_Y
A 3 2 3
B 2 3 4
C 1 4 5
目前,我可以执行以下查询:
SELECT Name,COUNT(*) as count FROM Table_A GROUP BY Name ORDER BY count DESC;
获得以下结果:
NAME COUNT
A 3
B 2
C 1
我知道可能我可以使用这个结果只提取"名称"然后使用PHP获取另一个查询来获取Loc_X和Loc_Y,但我想知道是否有一种使用DML的有效方法。有没有办法嵌套查询?
答案 0 :(得分:1)
尝试这样的事情:
SELECT Table_A.Name,COUNT(*) as count, Table_B.Loc_X, Table_B.Loc_Y
FROM Table_A
INNER JOIN Table_B ON Table_A.name = Table_B.name
GROUP BY Table_A.Name, Table_B.Loc_X, Table_B.Loc_Y
ORDER BY count DESC;
答案 1 :(得分:0)
我认为你只需要在这里加入公共领域的表格。
尝试:
SELECT a.Name, count(a.id) AS Count b.Loc_X, b.Loc_Y
FROM Table_A a
INNER JOIN Table_B b ON a.Name = b.Name
GROUP BY a.Name