他のテーブルから現在の月のトップ5行を選択する方法 -- mysql フィールド 関連 問題

How to select top 5 rows in current month from another table












0
vote

問題

日本語

<コード> 99887664 および date の列に等しい date date <コード> date order_db。各注文は1つ以上の製品になる可能性があるためです。それは私のサンプルを下に見てください。

order_db

<事前> <コード> +------+------+---------------------+ |od_id | p_id | od_dtime | +------+------+---------------------+ | 1 | 1 | 2014-10-01 00:00:00 | +------+------+---------------------+ | 2 | 2 | 2014-10-01 00:00:00 | +------+------+---------------------+ | 3 | 3 | 2014-10-02 00:00:00 | +------+------+---------------------+ | 4 | 4 | 2014-10-02 00:00:00 | +------+------+---------------------+ | 5 | 5 | 2014-10-03 00:00:00 | +------+------+---------------------+ . . +------+------+---------------------+ | 10 | 10 | 2014-10-31 00:00:00 | +------+------+---------------------+

order_log

<事前> <コード> +-------+------+ | pl_id | p_id | +-------+------+ | 1 | 5 | +-------+------+ | 2 | 5 | +-------+------+ | 3 | 5 | +-------+------+ | 4 | 2 | +-------+------+ | 5 | 1 | +-------+------+ . . . +-------+------+ | 10 | 1 | +-------+------+

だから私は SELECT * FROM c WHERE c.name = "Milky Way" 0 SELECT * FROM c WHERE c.name = "Milky Way" 1 SELECT * FROM c WHERE c.name = "Milky Way" 0 から現在の月の product_id を数える必要があります。私は書いた:

<事前> <コード> SELECT * FROM c WHERE c.name = "Milky Way" 2

このクエリを実行した後、私は期待しています:

トップ5ヶ月の順番:

  1. 製品3(3次)
  2. 製品1(2注文)
  3. 製品2(1次)
  4. **商品名には問題がありません。

英語

I'm going to select top 5 product in this month from order_log where id and date equal to the columns in order_db. Because each order can be more than 1 product. It's a bit complicate to tell so please see my sample below.

order_db

+------+------+---------------------+ |od_id | p_id |     od_dtime        | +------+------+---------------------+ |  1   |   1  | 2014-10-01 00:00:00 | +------+------+---------------------+ |  2   |   2  | 2014-10-01 00:00:00 | +------+------+---------------------+ |  3   |   3  | 2014-10-02 00:00:00 | +------+------+---------------------+ |  4   |   4  | 2014-10-02 00:00:00 | +------+------+---------------------+ |  5   |   5  | 2014-10-03 00:00:00 | +------+------+---------------------+ . . +------+------+---------------------+ |  10  |  10  | 2014-10-31 00:00:00 | +------+------+---------------------+ 

order_log

+-------+------+ | pl_id | p_id | +-------+------+ |   1   |  5   | +-------+------+ |   2   |  5   | +-------+------+ |   3   |  5   | +-------+------+ |   4   |  2   | +-------+------+ |   5   |  1   | +-------+------+ . . . +-------+------+ |   10  |  1   | +-------+------+ 

So I need to count the product_id where date is in current month from od_dtime of order_db. I wrote:

SELECT * FROM order_log WHERE p_id IN  (SELECT p_id FROM order_db WHERE month(bk_dtime)='10') 

After running this query, I expect :

Top 5 order of month 10 are :

  1. Product 3 (3 orders)
  2. Product 1 (2 orders)
  3. Product 2 (1 order)

**for the product name I don't have a problem with it.

</div
  

回答リスト

0
 
vote

データベースから上位5行を選択したい場合は、次のSQLクエリを使用できます。

例えば:タイムスタンプ属性を含む属性を持つテーブルがあり、時間の降順で順に注文したい

<事前> <コード> SELECT * FROM table_name where acc_id='2' order by time desc limit 0 , 5
 

If you want to select the top 5 rows from the database you can use the following sql query.

for eg: you have a table having some attributes including the time-stamp attribute and you wish to order in descending order of time

SELECT * FROM  table_name where acc_id='2' order by time desc limit 0 , 5 
</div
 
 
   
   

関連する質問

317  パフォーマンスが低下する前にMySQLデータベースがどのくらいのBIGを取得するか  ( How big can a mysql database get before performance starts to degrade ) 
MySQLデータベースがパフォーマンスを低下させ始めるのはどのようなポイントで? 物理データベースのサイズが重要ですか? レコード数の問題は? は、任意の性能劣化線形または指数関数的ですか? 私は大規模なデータベースであると信じているものを持っています。...

0  Schema_miribations上の固有の制約のためにRails Unitテストが失敗する  ( Rails unit tests fail because of unique constraint on schema migrations ) 
rake test:units を実行しようとしています。 <事前> <コード> Mysql::Error: Duplicate entry '2147483647' for key 1: INSERT INTO `ts_schema_migrations...

87  SQL Server 2005 MySQLの実装は?  ( Sql server 2005 implementation of mysql replace into ) 
MySQLには、これが非常に便利な REPLACE INTO sqlコマンドを持っています。 これはSQL Server 2005で簡単にエミュレートできますか? 新しいトランザクションの開始、<コード> Select() 、次に<コード> UPDATE...

2  表1から表2まで2列の接合  ( Joining 2 columns from table1 to table 2 ) 
表2の2列に表1列を参照しますか? 私は50の正確な行でテーブル ' 'を作成しました '結婚式'テーブルに関連しようとしている(WeddingState、ContactState) これは私が作成した声明ですが、トップ WeddingState を正しく結...

1  MySQL:v4からv5へのクエリの移行  ( Mysql migrating queries from v4 to v5 ) 
MySQL 4からMySQLのプロジェクトを移行するとき、クエリが互換性があることを確認するために私が対処する必要がある主なことは何ですか? 一般的なものは大丈夫ですが、私はMySQL 4のクエリに暗黙のうちに機能していることをMySQL 5で明示的に定義す...

88  SQL Server 2005からMySQLにデータをエクスポートする方法[閉じた]  ( How to export data from sql server 2005 to mysql ) 
閉じたこの質問はオフトピックです。現在答えを受け付けていません。 この質問を改善したいですか?質問を更新するスタックオーバーフロ...

39  PythonとMySQL  ( Python and mysql ) 
PostgreSQLを操作するようにPythonを取得することができますが、MySQLで動作することはできません。主な問題は、私がDjangoやPysqlなどのものをインストールする機能を持っていない共有ホスティングアカウントでは、私のコンピュータにインスト...

177  MySQLトリガーにエラーをスローします  ( Throw an error in a mysql trigger ) 
<コード> M_PI3 <コード> M_PI4 がある場合は、そのテーブルの更新を妨げるエラーをスローできますか? ...

136  DBスキーマの変更を追跡するためのメカニズム[閉]  ( Mechanisms for tracking db schema changes ) 
現在立つにつれて、この質問は私たちのQ&AMPにとって良いフィットではありません。フォーマット。私たちは事実、参考文献、または専門知識によって支持されることを期待していますが、この質問は...

191  MySQLのバイナリデータ[閉じた]  ( Binary data in mysql ) 
閉鎖。この質問はもっと焦点を絞ったにする必要があります。現在答えを受け付けていません。 この質問を改善したいですか?この記事の編...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有