ホームページ  >  記事  >  バックエンド開発  >  並べ替えによるグループに関する質問については、こちらをご覧ください。

並べ替えによるグループに関する質問については、こちらをご覧ください。

WBOY
WBOYオリジナル
2016-06-13 13:53:52766ブラウズ

並べ替えによるグループに関する質問については、
にアクセスしてください。次のようなテーブルがあります: 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 を使用して実現することはできません。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。