gourp_by和order_by同时使用的排序问题

当同时使用时order by无效了,因为在group by后面。

这里使用group_concat,就是效率比较差。先用起来再说吧,应该有更好的方式。

SELECT barCode,
SUBSTRING_INDEX( group_concat(priCommodityID ORDER BY createDate DESC), ',', 1
) AS priCommodityID,
SUBSTRING_INDEX(group_concat(createDate ORDER BY createDate DESC),',',1) AS createDate
FROM
tb_history_version
WHERE
barCode = '4565789'
GROUP BY
barCode;

SUBSTRING_INDEX(str,delim,count)函数用法
返回字符串 str 中在第 count 个出现的分隔符 delim 之前的子串
count正数从左开始,负数时从右开始

SELECT SUBSTRING(str,pos,len)函数用法
返回字符串 str 中以 pos 作为起始位置,长度为 len 的子字符串