並べ替えによるグループに関する質問については、
にアクセスしてください。次のようなテーブルがあります: tab1
+----+-------+--------+--- --- -+
|
+----+--------+--------+----- |
1 | 2 10 | 0003 | | 10 | 5 | 10 | 3 | 10 | ----+- -------+----------+
次のステートメントが使用されます:
select aa,bb,sum(cc) as cc from tab1 group by aa order by cc desc ,bb desc
出力結果は次のとおりです:
aa bb cc
===================== =
0001 1 20
0002 6 10
0003 5 30
0004 3 10
私が望む結果は次のとおりです:
aa bb cc
======= = ======== ======
0001 1 20
0002 6 10
0003 4 30
0004 3 10
つまり最新データの値フィールド bb に対応するデータベースでこれを実行してみてはいかがでしょうか。 ? ?
-----解決策---------
試してください
tab1 を選択します。 aa,tab1.bb,ntab.cc from tab1,(select max(id) as id,sum(cc) as cc from tab1 group by aa) as ntab where tab1.id=ntab.id order by ntab.cc
------解決策------------------
上記のものは正しい結果を生成できるはずです。 (テストはしていませんが、動作するはずです)
元の投稿者の質問について、mysql で group by を実行したときに表示されるレコードは、同じグループに挿入された最初のレコードです。これが最も古いものです: P ハハ、つまり、元の投稿者のアイデアは単純な SQL を使用して実現することはできません。