您好,我有一个查询结果,它给了我两个开头相同但结尾不同的元素,如下所示:
- btdeucat_de
- btdeucat_ca
通过 php 函数,我可以消除差异,但 echo 仍然给我 2 个元素,如何将它们分组以形成一个元素:
- btdeucat
(我在查询中尝试了 GROUP BY,但这没有帮助,因为数据库名称不同)
这是我的代码:
<?php
$result0 = mysqli_query($dbiac, "SELECT * FROM corpus_info WHERE corpus IN (SELECT corpus FROM corpus_alignments)") or die(mysqli_error($dbiac));
while($cpsblg = mysqli_fetch_array($result0)){
// eliminate the difference and echo it to the page
$cpsblg = preg_replace('"_(de|en|ca|es|fr|it|pt)$"', '', $cpsblg['corpus']);
echo $cpsblg."<br />";
?>
结果:
- btdeucat
- btdeucat
最佳答案
你就不能这样做吗?
SELECT c.corpus_initial
FROM (SELECT SUBSTRING_INDEX(corpus, '_', 1) AS corpus_initial
FROM corpus_info
WHERE corpus IN (SELECT corpus FROM corpus_alignments)) c
GROUP BY c.corpus_initial
关于php - php中函数的分组结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46025769/