最新のログインでmysqlをソートしたいのですが、ログインするたびに最新のログインをソートして保存する必要があります。mysqlをソートする方法
答えて
MySQLに格納されている値をアルファベット順に確実に保持することはできません。あなたができる最良の方法は、SELECT
クエリにORDER BY
句を使用することです。
通常、「ORDER BY」句を追加して選択するとソートされます。なぜ彼らは実際にテーブルに格納されている順序を気にしていますか?
本当に気になるのであれば、INSERT ... SELECTを実行して列をソートしている間に新しい表にコピーすることはできますが、新しいレコードを追加するたびにリストの最後に終わります。
SQLはそのようには機能しません。それは、行が「そのまま」読み取られることを意図したスプレッドシートのようなものではなく、特定の意味のある順序でそれらを配置することができます。あなたが今までにSQLが行を格納する順序を変更するものはありません.SQLはクエリを通じてデータを提供し、クエリはどの行をどの順序で表示するかを指示します。
したがって、特定の順序でデータを表示するたびに「注文」句を再利用する必要があります。ただし、手動でSQLに多くのクエリを行う必要はありません。あなたがそれを扱うためのスクリプトやアプリケーションを作成しているのであれば、データを必要とするたびに一度だけクエリを書いて再実行します。
ユーザーテーブルから最後のログインを取得するには、あなたはuser_name
は、あなたが探している分野であるとlogin_datetime
は、あなたが注文することができ、タイムスタンプであると仮定すると
SELECT user_name, login_datetime
FROM user_table
ORDER BY login_datetime DESC
LIMIT 1
のようなクエリを使用することができます。 LIMIT 1
は一番上の結果のみを表示し、必要に応じて変更することができます。
MySQLのInnoDBエンジンでは、行は主キーに従って物理的に順序付けられます。したがって、主キーがlogin
列にある場合、行はlogin
の値で物理的な順序にとどまります。
主キーの要件は、各値が一意でなければならず、NULLが許可されていないことです。したがって、login
列を主キーにすることを検討することもできます。 login
がdatetime列の場合、最新のログイン日時の値は常に表の最後になります。
多くの人が、自動インクリメント整数列を主キーにしています。この場合、挿入される最後のレコードは常にテーブルの最後になります。
特定の状況で行を物理的な順序で(特定の列ごとに)持たなければならないことを知っていなければなりません。例えば
、以下SELECT
を行うことによって結果を注文する列を指定することなく、物理的な順序(プライマリキーと同じ)の行を返し、その後、結果セットを注文するMySQLを強制せず:
SELECT *
FROM test
ただし、主キー以外の結果を注文する必要がある場合は、ORDER BY
句を使用する必要があります。行が物理的に列name
によって注文していますが、結果はlogin
順に返されたいた場合たとえば、あなたは次のクエリを発行します。
SELECT *
FROM test
ORDER BY login ASC
上記のクエリは、に応じて行を注文するのMySQL頼みます指定された列をORDER BY
句に指定して値を昇順に並べ替え、DESC
を降順に並べ替えます。
- 1. PHPとMySQLを使用してテーブル値をソートする方法
- 2. mysqlで2つの列をソートする方法
- 3. ソートする方法
- 4. mysqlの複数条件でソートする方法
- 5. MySQLクエリ結果のソート中にグループ分けする方法は?
- 6. データベースをソートする方法
- 7. ArrayListをソートする方法
- 8. Iterableをソートする方法
- 9. グループのソート、ソート、ソートの値をマップする方法
- 10. MySqlはソートをソートしますか?
- 11. phpとmysqlのキーワードオカレンスによる検索結果のソート方法
- 12. ソートする方法マップ
- 13. MYSQLで長さの異なる英数字列をソートする方法は?
- 14. mysqlで列をソートし、別の列のソートされた値を取得する方法は?
- 15. MySQL:ストアドファンクションを使用して文字列の単語をソートする方法は?
- 16. PHPを使用してMySqlから名前と姓をソートする方法は?
- 17. MySQLデータベースのソート
- 18. のMySQL:ソート
- 19. MySQLの複数のテーブルからデータをソートする最も良い方法
- 20. MySQLソートでnulls-firstまたはnulls-lastを制御する方法は?
- 21. クエリの完了後にmysqlの結果セットをソートする方法
- 22. 年齢別にMySQLの結果を誕生日からソートする方法
- 23. MySQL ORDER BY + LIMIT + OFFSETステートメント:ファセットをオフセットし、ORDER BYでソートする方法
- 24. 1つのMYSQLクエリで行番号をソートして取得する方法
- 25. MYSQLグループ内の項目をソートしてグループをソートする
- 26. オーバーライド方法Enumerablesソート方法
- 27. JQuery UIをソート可能にアルファベット順にソートする方法は?
- 28. Mysqlで "1.1.1"フォーマットタイプをソートする
- 29. 複数の行をソートするMySQL
- 30. MySQLのソートは異なる
なぜ物理的にテーブルを使用する必要がありますか? 'SELECT blah FROM table ORDER BY name'で十分でしょうか? – Ryan
@Melissa最新のログイン情報をソートしたいので... – Lukus
私はあなたに何が問題なのかを理解する必要があります。あなたはそれらを選別することができますか? ... –