mysqlソート後のパケット順序が間違っている問題の解決
681 ワード
通常のロジックは、まずorder byがフィールドをソートし、groupbyがフィールドをグループ化します.このときの結果が集約される前にソートされるフィールドの値は、必ずしも前にソートされた結果の最初のレコードではありません.最も簡単な方法は、groupby id結果order byがフィールドをソートすることです(現在記録されているプライマリキー、groupbyの後にこのソートの役割が保持されます).それからgroupbyグループフィールドで自分の望む結果が得られるので、仲間は早くやってみましょう(mysql 5.7からサポートされているようですが、これは検証していません.どうせ私が使っているときはこれでいいです)
--
SELECT wx_user_id,content,create_date from (
SELECT * from (
SELECT
b.id,
b.wx_user_id,
b.content,
b.create_date
FROM
t_weixin_user_browse b
WHERE
`status` = 'A'
AND retailer_id = 'fd23db2c9ed442b89754e94cbe437a81'
) t GROUP BY id ORDER BY create_date desc
) t2 GROUP BY wx_user_id