id | user_id | prd_id | amnt | dis
1 | 1 | 10 | 200 | 23
2 | 2 | 10 | 300 | 11
3 | 3 | 20 | 100 | 26
4 | 2 | 20 | 50 | 12
5 | 4 | 30 | 100 | 22
6 | 2 | 40 | 600 | 18
7 | 2 | 30 | 100 | 16
私はテーブルの上から2の結果たい:、最高額を取得し、カウント
user_id | cont | bid on prd_id | winner on bid prod_id |
1 | 1 | 10 | - | -
2 | 4 | 10,20,30,40 | 10,40 |
3 | 1 | 20 | 20 |
4 | 1 | 30 | 30 |
:以下のように第二by user_id
prd_id | user_id | cont | highestamt | disc
10 | 2 | 2 | 300 | 11
20 | 3 | 2 | 100 | 26
30 | 4 | 2 | 100 | 22
40 | 2 | 1 | 600 | 18
以下のように
まずby prod_id
を更新:ex:上記: user_id = 2は製品10,20,30,40(prd_idへの入札)に入札していますので、入札件数は4回です...うち10,40(入札者prod_id)で勝ちます.WHY ONLY 10,40 30ではなく... bcz user_id = 4は、amt = 100でamd = 100、user_id = 2でprd = 30に入札しました。しかし、最初の入札はprd = 30でuser = 4によって行われたため、prd = 30(同じamtのため)
私はby prd_id
のための以下のクエリを試してみましたが、それは私に間違った結果を与えます。以下のようにクエリ結果上記
SELECT `prd_id`, `user_id` , count('prd_id') as cont , max(`amnt`) as highestamt,disc
FROM `proddtails`
group by `prd_id` order by `prd_id`
:二by user_id
については
prd_id | user_id | cont | highestamt | disc
10 | 2 | 2 | 300 | 11
20 | 2 | 2 | 100 | 11
30 | 2 | 1 | 100 | 11
40 | 2 | 1 | 600 | 11
は、私は、クエリがどうなるか得ていないのです(user_id,disc
は、適切来ていません)。
おかげ
UPDATE:HARSHIL FOR
THANKS:user_idをためが、prd_idに適しています:秒http://www.sqlfiddle.com/#!9/e04063/1:
が、いくつかのより多くのエントリの後に私はこのバグを見つけたhttp://www.sqlfiddle.com/#!9/5325a6/5/1 (最初のクエリ)
user_id cont bid_on_prd_id winner_on_bid_prod_id
1 1 10 (null)
2 4 10,20,40,30 10,40,30
3 1 20 20
4 1 30 30
が、私は以下のようにしたい:
ヌルなしではヌルで
user_id cont bid_on_prd_id winner_on_bid_prod_id
2 4 10,20,30,40 10,40
3 1 20 20
4 1 30 30
をUSER_ID =をUSER_ID(私のWAMPサーバに私はuser_idのためwinner_on_bid_prd_idにヌルが表示されません1、私はnullの代わりに値10を得る)
user_id cont bid_on_prd_id winner_on_bid_prod_id
1 1 10 (null)
2 4 10,20,30,40 10,40
3 1 20 20
4 1 30 30
私はprd_id、user_idは、ディスクによってグループをすれば 'GROUP BY' –
に' user_id'と 'disc'を追加します。..それでは、prd_idでグループ化せずに出力します。inshort contはすべて1であり、すべての値をリストします – user3209031
グループからコンマ区切りリストを取得するには、 'GROUP_CONCAT'を使用します。 – Barmar