0

我有一个问题如何做出正确的 sql 语句,因为我不知道如何开始;-(

有以下两个表:

表 1:测试

id|name|type
-------------
1|FirstUnit|1
2|FirstWeb|2
3|SecondUnit|1

表 2:类型

id|type
--------
1|UnitTest
2|WebTest

我想得到以下结果:

表格结果:

type|amount
-----------
UnitTest|2
WebTest|1

任何人都可以帮助提示如何开始吗?

提前致谢。罢工

4

3 回答 3

2
SELECT  a.type, COUNT(b.type) amount
FROM    types a
        LEFT JOIN test b
            ON a.ID = b.type
GROUP   BY a.type
ORDER   BY amount DESC

要进一步了解有关联接的更多信息,请访问以下链接:

于 2013-04-04T09:40:03.087 回答
1

你可以试试这个查询:

SELECT
    t.type ,
    COUNT(*) AS amount
FROM types AS t
   JOIN test AS te ON t.id= te.type
GROUP BY type
ORDER BY t.type
于 2013-04-04T09:40:56.440 回答
0

这是解决方案: -

 SELECT  types.type, COUNT(test.type) as amount from types,test where test.type=types.id 
 GROUP BY test.type
 ORDER BY amount
于 2013-04-04T10:06:42.260 回答