php - php中函数的分组结果

标签 php mysql grouping

您好,我有一个查询结果,它给了我两个开头相同但结尾不同的元素,如下所示:

  • 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/

相关文章:

mysql - 从另一个表更新一个 mysql 表,其中第三个表将旧 id 匹配到新 id

MYSQL 过滤彼此相邻的相同行

sql - 如何在数学上做 "GROUP BY"?

xslt - 使用 XSL 将节点列表分组到节点树中

php - 检测 PHP 脚本是否正在交互式运行

PHP:如何实时读取不断写入的文件

python - pymysql - pymysql.err.InternalError : 1054, 用户输入字符串用作列名

php - 在保存到数据库之前我应该​​担心 Richtext 编辑器的内容吗?

php - mysql计算两个子查询之间的百分比

php - 使用.htaccess阻止通过/public/目录访问Laravel