gpt4 book ai didi

mysql - 如何计算由mysql中的substring()获取的值的记录

转载 作者:行者123 更新时间:2023-11-29 06:05:53 25 4
gpt4 key购买 nike

我有一张这样的 table :

id | name | sid
---|------|-----
1 | Mary | 123456789
2 | Sean | 34567896874341
3 | Paul | 12345678934782
4 | Guy | 765432689
5 | Joe | 98765465321675

我需要显示具有相同子字符串值的行数:substring (sid,1,9) 和每一行的 this。

我的预期输出是:

id | name | sub         | count
---|------|-------------|------
1 | Mary |123456789 | 2
2 | Sean |345678968 | 1
3 | Paul |123456789 | 2
4 | Guy |765432689 | 1
5 | Joe |987654653 | 1

我怎样才能用一个 mysql 查询来做到这一点。

谢谢。

最佳答案

您的预期结果意味着您只想取回原始数据集以及一个新列,该列包含整个表中每个 sid 的子字符串计数。在下面的查询中,我计算子查询中的 sid 计数,然后将其连接回您的原始表。

SELECT t1.id,
t1.name,
t2.sub,
t2.sid_count
FROM yourTable t1
INNER JOIN
(
SELECT SUBSTRING(sid, 1, 9) AS sub, COUNT(*) AS sid_count
FROM yourTable
GROUP BY SUBSTRING(sid, 1, 9)
) t2
ON SUBSTRING(t1.sid, 1, 9) = t2.sub

此处演示:

SQLFiddle

关于mysql - 如何计算由mysql中的substring()获取的值的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41714685/

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