【发布时间】:2019-02-17 23:15:52
【问题描述】:
必须对以下查询的输出进行切片。
GROUP_CONCAT(DISTINCT subject.id, '-', subject.en_title ORDER BY subject.id) AS sub,
输出是
3-Math
4-Science
我正在使用 PHP substr
$sub=substr(strstr($row['sub'], '-'), 1);
所以结果会是
Math
Science
但如果可以在mysql中切片会更好,因为我认为它减少了php代码和从数据库获取的数据更少。 所以我尝试了 SUBSTRING_INDEX
SUBSTRING_INDEX(GROUP_CONCAT(DISTINCT subject.id, '-', subject.en_title ORDER BY subject.id), '-', -1) AS sub,
但我只得到一行
Science
这里,SUBSTRING_INDEX 影响选择行吗?如果不是,我怎样才能获取预期的输出
【问题讨论】:
-
请显示整个SELECT函数。
-
所以你想连接字段 subject.en_title 并在同一个查询中再次剥离它?为什么不直接使用这个字段呢?
标签: php mysql group-concat