MySQL - COUNT 个同名行

MySQL - COUNT for rows with the same name

我想计算我的 table 设备 [device.name] 中有多少同名条目的值为 2 作为仓库 [device.warehouse_id]。

例如我有 5 行,2 行名称 = Beam,2 行名称 = Spot,1 行名称 = Strobe。


现在我希望 select 的结果是:

2 光束

2个现货

1个频闪

(想知道每台设备的库存情况)


我知道它必须与 "SELECT COUNT(device.name) FROM device WHERE device.warehouse_id = '2'

这可行,COUNT 本身也可行,但我想计算每“组”名称。

当然我可以做一个 UNION 并为每个 device.name 编写相同的查询,但我想知道我如何一次对所有现有名称执行此操作,而不是将它们写下来。


我希望你明白我的意思和我想要的。

谢谢,法比奥

尝试

SELECT 
  COUNT(*), device.name
FROM device 
WHERE 
  device.warehouse_id = '2' 
GROUP BY 
  device.name

尝试

SELECT device.name, COUNT(device.name) as count from device group by device.name;

希望这对您有所帮助:)