gpt4 book ai didi

mysql - 计算 SQL 中具有别名的列的出现次数

转载 作者:行者123 更新时间:2023-11-29 07:17:48 40 4
gpt4 key购买 nike

我正在尝试获取名称数量以及与其关联的 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”。我知道我只需使用一列来获取计数,然后对要放回的剩余列进行子查询即可获得所需的结果。但我需要它来获取名称

最佳答案

您不能在 JOIN 条件中使用别名。您可以先将其放入子查询中,也可以使用连接列,如下所示:

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 b
GROUP BY firstname, lastname
) b
ON CONCAT(a.firstname, ' ', a.lastname) = b.bname

关于mysql - 计算 SQL 中具有别名的列的出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37265247/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com