drtoaamk20278 2018-09-13 08:50
浏览 64
已采纳

php或mysql substring_index中的字符串切片

Output of following query has to be sliced.

GROUP_CONCAT(DISTINCT subject.id, '-', subject.en_title ORDER BY subject.id) AS sub,

Output is

3-Math
4-Science

I am Using PHP substr

$sub=substr(strstr($row['sub'], '-'), 1);

so result would be

Math
Science

But It would be better, if it can be sliced in mysql, because I think it reduces php code and less data fetched from database. So I have tried SUBSTRING_INDEX

SUBSTRING_INDEX(GROUP_CONCAT(DISTINCT subject.id, '-', subject.en_title ORDER BY subject.id), '-', -1) AS sub,

But I get only one row

Science

Here, does SUBSTRING_INDEX affect to select row ? if not how can I fetch expected output

  • 写回答

2条回答 默认 最新

  • douguan1887 2018-09-13 09:09
    关注

    You don't need to CONCAT subject.id. You can directly use DISTINCT clause on subject.en_title. Use the following expression instead:

    GROUP_CONCAT(DISTINCT subject.en_title ORDER BY subject.id) AS sub
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 iOS 自定义输入法-第三方输入法
  • ¥15 很想要一个很好的答案或提示
  • ¥15 扫描项目中发现AndroidOS.Agent、Android/SmsThief.LI!tr
  • ¥15 怀疑手机被监控,请问怎么解决和防止
  • ¥15 Qt下使用tcp获取数据的详细操作
  • ¥15 idea右下角设置编码是灰色的
  • ¥15 全志H618ROM新增分区
  • ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示
  • ¥15 NAO机器人的录音程序保存问题
  • ¥15 C#读写EXCEL文件,不同编译