Sim*_*mba 5 mysql sql stored-functions mariadb
我有一个像下面的桌子
tbl_test
test_id name val
1 ab 1
2 ac 1
3 ad 2
4 af 3
5 fg 2
6 ss 1
7 dd 3
Run Code Online (Sandbox Code Playgroud)
我想在同一查询中根据val来计算名称
试过了
(select count(name ) where val='1' ) as one,
(select count(name ) where val='2' ) as two,
(select count(name ) where val='3' ) as thr
Run Code Online (Sandbox Code Playgroud)
预期产量
test_id name val
1 ab 1
2 ac 1
3 ad 2
4 af 3
5 fg 2
6 ss 1
7 dd 3
Run Code Online (Sandbox Code Playgroud)
您可以将条件聚合与case when expression-
select
count(case when val=1 then name end) as one,
count(case when val=2 then name end) as two,
count(case when val=3 then name end) as thr
from tbl_test
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31 次 |
| 最近记录: |