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
Ich möchte 2 Ergebnis aus obiger Tabelle:Get Höchste Anzahl, Anzahl der Produkte/Benutzer
Erste by prod_id
wie unten
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
Zweite by user_id
wie folgt:
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 |
UPDATE: Beispiel: oben: user_id = 2 hat auf Produkt 10,20,30,40 (Gebot auf prd_id) geboten, daher ist sein Gebot cont = 4 ... und aus dem er Gewinner in 10,40 ist (Gewinner auf Gebot prod_id) ..WHY NUR 10,40 und nicht 30 ... bcz user_id = 4 hat auf prd = 30 mit amt = 100 und user_id = 2 mit amt = 100 geboten. Aber das erste Gebot wurde von user = 4 auf prd = 30 gemacht und ist somit Gewinner für prd = 30 (für das gleiche Amt)
Nachstehend Abfrage für by prd_id
versucht, aber es gibt mir ein falsches Ergebnis.
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`
oben Abfrageergebnis wie folgt: (user_id,disc
nicht kommen richtigen)
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
Für zweite by user_id
ich nicht bekommen, was query sein wird.
Dank
UPDATE:
DANK FÜR Harshil: http://www.sqlfiddle.com/#!9/5325a6/5/1
aber nach einiger mehr Eintrag fand ich diesen Fehler: http://www.sqlfiddle.com/#!9/e04063/1 für die zweite: für user_id aber funktioniert gut für prd_id (erste Abfrage)
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
, aber ich möchte, wie unten:
ohne 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
mit null user_id (aber in meinem wamp Server i in winner_on_bid_prd_id für user_id = nicht null sehen 1, ich bekomme Wert 10 statt Null)
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
hinzufügen 'user_id' und' disc' zu 'GROUP BY' –
, wenn ich tun Gruppe von prd_id, user_id, Scheibe .. Dann gib mir eine Ausgabe ohne Gruppe von prd_id.InShort Cont ist 1 für alle und es listet mich alle Wert – user3209031
Verwenden Sie GROUP_CONCAT, um eine durch Kommas getrennte Liste aus einer Gruppe zu erhalten. – Barmar