回答问题

再次参考我之前关于group concatMysql的问题,group by并显示其余行

我需要从该查询中获取第一天和最后一天

例如

row 3 from 8,9,10 to first collumn 8, last collumn 10
row 5 from 21,22,23,24,28,29,30 to first collumn 21, last collumn 30
row 6 from 17,21,22,23,24,25 to first collumn 17 last collumn 25

SUBSTR(GROUP_CONCAT(DAY),-1) as fl

但它给了我最后一个字符,例如,很少有 1 或 2 个字符的行

1,2,3,22
1,3,6,3

在第一个示例中,它给了我 2,而不是 22:/

Answers

不要浪费时间尝试解析GROUP_CONCAT()的第一个和最后一个。相反,只需将MIN()MAX()CONCAT()粘在一起即可。

SELECT 
  user,
  CONCAT(MIN(DAY)), ',', MAX(DAY)) AS f1
FROM yourtable
GROUP BY user
Logo

华为、百度、京东云现已入驻,来创建你的专属开发者社区吧!

更多推荐