需求:
表中同一个uid(用户)拥有多条游戏等级记录,现需要取所有用户最高等级(level)的那一条数据,且时间(time)越早排越前。这是典型的排名表
+------+-------+--------------+---------------------+| uid | level | role | time |+------+-------+--------------+---------------------+| 7 | 1 | 摇滚圣魔 | 2014-06-12 15:01:05 || 1134 | 4 | 唯我独尊 | 2014-06-12 15:02:38 || 1134 | 4 | 唯我独尊 | 2014-06-12 15:02:39 || 7 | 3 | 摇滚圣魔 | 2014-06-12 15:02:59 || 5 | 3 | 韵儿铃♦ | 2014-06-12 15:04:09 || 7363 | 6 | 诗荷冰月 | 2014-06-12 15:04:23 || 6684 | 4 | つ道远虚空つ | 2014-06-12 15:05:13 || 7 | 16 | 摇滚圣魔 | 2014-06-12 15:05:46 || 1 | 2 | 斗土豪 | 2014-06-12 15:05:48 || 7 | 26 | 摇滚圣魔 | 2014-06-12 15:08:36 || 6684 | 8 | つ道远虚空つ | 2014-06-12 15:08:45 || 5 | 12 | 韵儿铃♦ | 2014-06-12 15:09:47 || 6834 | 1 | 无敌追翼 | 2014-06-12 15:10:56 || 5 | 16 | 韵儿铃♦ | 2014-06-12 15:11:18 || 8719 | 1 | 君望赤 | 2014-06-12 15:11:48 || 6274 | 36 | 五月独孤 | 2014-06-12 15:12:22 || 8724 | 26 | 童童 | 2014-06-12 15:12:31 || 1134 | 32 | 唯我独尊 | 2014-06-12 15:12:51 || 7 | 26 | 摇滚圣魔 | 2014-06-12 15:13:38 || 5 | 25 | 韵儿铃♦ | 2014-06-12 15:14:48 || 7757 | 3 | つ清灵旋つ | 2014-06-12 15:16:50 || 7 | 26 | 摇滚圣魔 | 2014-06-12 15:17:26 || 5 | 28 | 韵儿铃♦ | 2014-06-12 15:18:08 || 7757 | 23 | つ清灵旋つ | 2014-06-12 15:19:29 || 6274 | 43 | 五月独孤 | 2014-06-12 15:19:54 || 8724 | 30 | 童童 | 2014-06-12 15:20:39 || 7757 | 26 | つ清灵旋つ | 2014-06-12 15:20:58 || 8707 | 36 | 就是干 | 2014-06-12 15:22:28 || 7757 | 29 | つ清灵旋つ | 2014-06-12 15:23:05 || 7757 | 32 | つ清灵旋つ | 2014-06-12 15:24:57 || 8726 | 10 | 连曦 | 2014-06-12 15:26:01 || 7363 | 34 | 诗荷冰月 | 2014-06-12 15:26:58 || 7 | 26 | 摇滚圣魔 | 2014-06-12 15:27:33 || 5 | 37 | 韵儿铃♦ | 2014-06-12 15:27:37 || 8347 | 1 | 无敌 | 2014-06-12 15:28:09 || 6274 | 47 | 五月独孤 | 2014-06-12 15:28:13 || 1 | 32 | 斗土豪 | 2014-06-12 15:29:18 || 1134 | 46 | 唯我独尊 | 2014-06-12 15:30:52 || 7757 | 41 | つ清灵旋つ | 2014-06-12 15:30:56 || 9 | 34 | 饭饭饭饭の | 2014-06-12 15:31:03 || 6274 | 48 | 五月独孤 | 2014-06-12 15:31:18 || 8724 | 41 | 童童 | 2014-06-12 15:32:30 || 7757 | 42 | つ清灵旋つ | 2014-06-12 15:34:24 || 1134 | 48 | 唯我独尊 | 2014-06-12 15:34:56 || 1100 | 2 | 圣魔霄 | 2014-06-12 15:35:54 || 1008 | 21 | ∵嘟嘟冰儿∵ | 2014-06-12 15:36:10 || 7757 | 45 | つ清灵旋つ | 2014-06-12 15:40:49 || 3088 | 4 | 战魂凌空 | 2014-06-12 15:41:38 || 5 | 41 | 韵儿铃♦ | 2014-06-12 15:41:56 || 7757 | 46 | つ清灵旋つ | 2014-06-12 15:43:24 |
实现过程:
1.首先对该数据进行2次排序,uid 排序以及等级的降序排序
2.对排序后的结果用uid进行分组,分组后等级降序排序,时间升序排序
实现SQL:
select * from (select a.uid,a.level,a.role,a.time from 数据表 a where order BY a.uid desc,a.level desc) as 别名 group by user_uid order by level desc,time asc limit 30;

MySQLはGPLライセンスを使用します。 1)GPLライセンスにより、MySQLの無料使用、変更、分布が可能になりますが、変更された分布はGPLに準拠する必要があります。 2)商業ライセンスは、公的な変更を回避でき、機密性を必要とする商用アプリケーションに適しています。

Myisamの代わりにInnoDBを選択する場合の状況には、次のものが含まれます。1)トランザクションサポート、2)高い並行性環境、3)高いデータの一貫性。逆に、Myisamを選択する際の状況には、1)主に操作を読む、2)トランザクションサポートは必要ありません。 INNODBは、eコマースプラットフォームなどの高いデータの一貫性とトランザクション処理を必要とするアプリケーションに適していますが、Myisamはブログシステムなどの読み取り集約型およびトランザクションのないアプリケーションに適しています。

MySQLでは、外部キーの機能は、テーブル間の関係を確立し、データの一貫性と整合性を確保することです。外部キーは、参照整合性チェックとカスケード操作を通じてデータの有効性を維持します。パフォーマンスの最適化に注意し、それらを使用するときに一般的なエラーを避けてください。

MySQLには、B-Treeインデックス、ハッシュインデックス、フルテキストインデックス、空間インデックスの4つのメインインデックスタイプがあります。 1.B-Treeインデックスは、範囲クエリ、ソート、グループ化に適しており、従業員テーブルの名前列の作成に適しています。 2。HASHインデックスは、同等のクエリに適しており、メモリストレージエンジンのHASH_TABLEテーブルのID列の作成に適しています。 3。フルテキストインデックスは、記事テーブルのコンテンツ列の作成に適したテキスト検索に使用されます。 4.空間インデックスは、地理空間クエリに使用され、場所テーブルのGEOM列での作成に適しています。

tocreateanindexinmysql、usethecreateindexstatement.1)forasinglecolumn、 "createdexidx_lastnameonemployees(lastname);" 2)foracompositeindexを使用して、 "createindexidx_nameonemployees(lastname、firstname);" 3); "3)、" 3)を使用します

MySQLとSQLiteの主な違いは、設計コンセプトと使用法のシナリオです。1。MySQLは、大規模なアプリケーションとエンタープライズレベルのソリューションに適しており、高性能と高い並行性をサポートしています。 2。SQLiteは、モバイルアプリケーションとデスクトップソフトウェアに適しており、軽量で埋め込みやすいです。

MySQLのインデックスは、データの取得をスピードアップするために使用されるデータベーステーブル内の1つ以上の列の順序付けられた構造です。 1)インデックスは、スキャンされたデータの量を減らすことにより、クエリ速度を改善します。 2)B-Tree Indexは、バランスの取れたツリー構造を使用します。これは、範囲クエリとソートに適しています。 3)CreateIndexステートメントを使用して、createIndexidx_customer_idonorders(customer_id)などのインデックスを作成します。 4)Composite Indexesは、createIndexIDX_CUSTOMER_ORDERONORDERS(Customer_Id、Order_date)などのマルチコラムクエリを最適化できます。 5)説明を使用してクエリ計画を分析し、回避します

MySQLでトランザクションを使用すると、データの一貫性が保証されます。 1)StartTransactionを介してトランザクションを開始し、SQL操作を実行して、コミットまたはロールバックで送信します。 2)SavePointを使用してSave Pointを設定して、部分的なロールバックを許可します。 3)パフォーマンスの最適化の提案には、トランザクション時間の短縮、大規模なクエリの回避、分離レベルの使用が合理的に含まれます。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ホットトピック









