Php 带字符串后缀的分组方式
我有一种情况,我需要根据相似的名称对记录进行分组,但名称末尾有_QA 这是一个完整的例子 我有一个名为project的表,其中包含的名称是varchar200 该表条目的示例如下:Php 带字符串后缀的分组方式,php,mysql,group-by,Php,Mysql,Group By,我有一种情况,我需要根据相似的名称对记录进行分组,但名称末尾有_QA 这是一个完整的例子 我有一个名为project的表,其中包含的名称是varchar200 该表条目的示例如下: id = 1 name = Project id = 2 name= Project_QA 正如你所看到的,我有一个名字相同的条目,只有QA是不同的 现在,我想查询将项目和项目分组为同一条记录的表 为了我所做的一切。?对不起,极客们,我什么也没找到,所以我在这里问 我不想要存储过程 编辑 现在我有工作的问题,根据
id = 1
name = Project
id = 2
name= Project_QA
正如你所看到的,我有一个名字相同的条目,只有QA是不同的
现在,我想查询将项目和项目分组为同一条记录的表
为了我所做的一切。?对不起,极客们,我什么也没找到,所以我在这里问
我不想要存储过程
编辑
现在我有工作的问题,根据收到的答案,现在一个最后的问题
现在我有了一个名为working的表,它跟踪工作时间,我如何加入这个表并获得总工作时间和
我有以下疑问
SELECT
SUM(
ROUND(
TIME_TO_SEC(
TIMEDIFF(
vv.end_date,
vv.start_date
)
) / 3600
,2)) AS TotalHour,
( select name from project where id=vv.project_id ) AS ProjectName,
( select planned_hour from project where id=vv.project_id ) AS ProjectPlannedHour
FROM
working vv
WHERE
vv.project_id in(select id from project)
GROUP BY
vv.project_id,
IF(SUBSTR(ProjectName, -3)='_QA', LEFT(ProjectName, CHAR_LENGTH(ProjectName)-3), ProjectName)
ORDER BY
TotalHour DESC
LIMIT 0, 100
使用函数很容易:
SELECT
*
FROM
project
GROUP BY
IF(SUBSTR(name, -3)='_QA', LEFT(name, CHAR_LENGTH(name)-3), name);
-小提琴。使用功能非常简单:
SELECT
*
FROM
project
GROUP BY
IF(SUBSTR(name, -3)='_QA', LEFT(name, CHAR_LENGTH(name)-3), name);
-小提琴。你试过按替换名分组吗?你试过按替换名分组吗?DipeshParmar那么你能提供小提琴吗?对我来说-效果很好-看到我的小提琴了吗?好的,它工作了…只有一个问题…当我使用“加入”时它也工作了吗?@DipeshParmar i.e.in ON condition?为什么不呢?只需注意,对于对应的第一个表行,您可能会得到多个join第二个表行。开始工作了…刚刚删除了vv.project_id、group by及其类似于charm的功能……+10000000000000000000000000000000000000000…谢谢。@DipeshParmar那么您能提供一个提琴吗?对我来说-效果很好-看到我的小提琴了吗?好的,它工作了…只有一个问题…当我使用“加入”时它也工作了吗?@DipeshParmar i.e.in ON condition?为什么不呢?只需注意,对于1个对应的第一个表行,您可能会得到多个join第二个表行。开始工作了…刚刚删除了vv.project_id、group by及其工作方式……+100000000000000000000000…谢谢。