我很好奇,这个结果集是否可以用sql查询实现?
这是表格
item_id name availability
-----------------------------------
1 brush available
2 brush available
3 paint not available
4 paint available
Run Code Online (Sandbox Code Playgroud)
这是结果
name available not available
---------------------------------------
brush 2 0
paint 1 1
Run Code Online (Sandbox Code Playgroud)
查询可能是什么样的?
SELECT name,
COALESCE(SUM(CASE WHEN availability = 'available' THEN 1 ELSE 0 END), 0) AS available,
COALESCE(SUM(CASE WHEN availability = 'available' THEN 0 ELSE 1 END), 0) AS not_available
FROM mytable
GROUP BY
name
Run Code Online (Sandbox Code Playgroud)