【发布时间】:2016-09-12 21:52:48
【问题描述】:
我正在尝试获取名称的计数以及与之关联的 id 例如 姓名:乔恩·史密斯 数量:2 编号:1
第二个 John Smith 记录将具有与之关联的不同 ID。
我查看了其他建议的解决方案并且已经做到了这一点:
select a.id, concat(a.firstname,' ',a.lastname) as name, b.cnt
from table a
join (select concat(firstname,' ',lastname) as bname, count(*) as cnt
from table by firstname,lastname) b
on a.name=b.bname
但是,sql 给出了一个错误,指出列名“name”无效。 我知道我可以只使用一列来获得所需的结果来获取计数,然后对要放回的剩余列进行子查询。但我需要它来获取名称
【问题讨论】:
-
名称可能是保留字。尝试更改为全名,或者您可能需要将 ON 位更改为 a.firstname = b.firstname 和 a.lastname = b.lastname 而不是比较连接的部分
标签: mysql sql sql-server sql-server-2008 sql-server-2012