0

列 id、player1、および player2 を含むテーブルがあります。プレーヤーの ID は、2 つの列のいずれかに入れることができます。列 player1 と列 player2 を組み合わせた一意の ID をすべて見つける必要があります。次に、各プレイヤーが各列に表示される回数も調べる必要があります。最後に、列プレーヤー1 /列プレーヤー2の比率で注文したいと思います。

たとえば、テーブルには次の値があります。

1 103 101

2 103 111

3 232 103

4 223 111

私のクエリは..

プレイヤー 223: 1/0

プレイヤー 232: 1/0

プレーヤー 103: 2/1

プレーヤー 101: 0/1

プレーヤー 111: 0/2

私はこのようなことができる一意のIDを知っています

select 
(SELECT group_concat(DISTINCT player1) FROM table) as player1,
(SELECT group_concat(DISTINCT player2) FROM table) as player2

そして、私はこのようなことができる順序を知っています

ORDER BY player1 / player2 DESC

一意のIDを取得してから、比率を出力してソートしようとすると、何をすべきかを理解するのに本当に苦労しています

4

1 に答える 1

0

これを試して

select player1,player2, CONCAT('Player',IF( (select count(DT.player1) from table as DT where MT.player1 = DT.player1) > 0, player1,player2),':', (select count(DT.player1) from table as DT where MT.player1 = DT.player1), ' / ', (select count(DT.player2) from table as DT where MT.player2 = DT.player2) )  
from table MT
where player1 != player2
group by palyer1,player2
order by (player1/IF(player2 is not null and player2 != 0,player2,1) desc

お役に立てば幸いです

于 2013-10-07T10:45:19.503 に答える