gpt4 book ai didi

mysql - SQL查询合并两个字段的总数

转载 作者:行者123 更新时间:2023-11-29 20:56:03 24 4
gpt4 key购买 nike

我应该根据我的要求合并两个结果字段。例如,下面的查询提供如图所示的结果。但我需要一个 case 语句来声明“wind”和“wind c”相同,因此将其总数合并起来。

SELECT result, COUNT(*) AS total from(
SELECT t.Id AS Id,
CASE
WHEN LTRIM(RTRIM(AC)) = ' ' THEN AG
WHEN LOWER(AC) IS NOT NULL THEN LOWER(AC)
ELSE LOWER(AG)
END AS result,MaxDate,
FROM [DC_20160601] t
INNER JOIN ( SELECT Id, MAX(DateTime) AS MaxDate
FROM [DC_20160601]
GROUP BY Id) tm
ON t.Id = tm.Id AND t.DateTime = tm.MaxDate)
GROUP BY result

当前结果:

Result    Total
Wind 1212
Wind c 345
sqrim 321
sqrim mob 123

预期结果:

Result      Total
Wind mobile 1557
Sqrim mobile 444

最佳答案

您可以通过substring_index选择字符串中的第一个单词

SELECT SUBSTRING_INDEX(`result`, ' ', 1);

现在按结果的第一个单词进行分组

SELECT SUBSTRING_INDEX(`result`, ' ', 1), COUNT(*) AS total from(
SELECT t.Id AS Id,
CASE
WHEN LTRIM(RTRIM(AC)) = ' ' THEN AG
WHEN LOWER(AC) IS NOT NULL THEN LOWER(AC)
ELSE LOWER(AG)
END AS result,MaxDate,
FROM [DC_20160601] t
INNER JOIN ( SELECT Id, MAX(DateTime) AS MaxDate
FROM [DC_20160601]
GROUP BY Id) tm
ON t.Id = tm.Id AND t.DateTime = tm.MaxDate)
GROUP BY SUBSTRING_INDEX(`result`, ' ', 1)

关于mysql - SQL查询合并两个字段的总数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37622608/

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