3
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つの結果が必要です:

まずはby prod_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 user_idに以下のように:

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                   |

更新: 例: 上記: user_id = 2 が製品 10,20,30,40 (prd_id の入札) に入札したため、彼の入札 cont = 4 ...そして、そのうちの 10,40 で勝者です (入札 prod_id の勝者) ) ..なぜ 30 ではなく 10,40 だけなのか ...bcz user_id =4 が prd=30 に amt =100 で入札し、user_id =2 に amt=100 で入札した..しかし、最初の入札は user=4 が prd= で行った30 したがって、彼は prd=30 の勝者です (同じ金額の場合)

以下のクエリを試してみまし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`

上記のクエリ結果は次のとおりです: (user_id,disc正しくない)

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

2番目by user_idに、クエリになるものを取得していません。

ありがとう

アップデート :

HARSHIL に感謝します: 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

しかし、私は以下のようにしたい:

null user_id なし

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

null user_id を使用 (ただし、私の wamp サーバーでは、user_id =1 の Winner_on_bid_prd_id に null が表示されません。 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
4

1 に答える 1