我有一张表格

SID LinkName
A1  Link1
A1  Link2
A2  Link1
A2  Link2
A2  Link3
A3  Link2
A1  Link1
A2  Link2

我需要以下面的格式显示每个链接类型的计数结果
Link1   Link2   Link3
 3        4        1

请告知。
编辑:
如果我需要以下面的格式显示每个链接类型的不同计数的结果。像A1->Link1出现两次,但只需要计数一次
Link1   Link2   Link3
 2        3        1

最佳答案

通常,您不会将它们放入列中,而是将它们放入行中:

select LinkName, count(LinkName) as LinkCount
from table group by LinkName

……这将给予:
LinkName | LinkCount
Link1    | 2
Link2    | 3
Link3    | 1

这样,如果出现新的链接类型,就不会太大。这行得通吗,还是一定要在列中?如果是这样,您可能会看到一个计数(*)和两个子选择,或者一个相当复杂的自连接或某种case方法。比如:
select count(*) as Link1, (select count(*) from table where LinkName='Link2') as Link2...
from table where LinkName='Link1'

……或者类似的东西。

关于mysql - 需要每种值类型的行数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39831274/

10-13 03:34