假設我有一張表: ID | KILLS | DEATHS $ratio = $kills/deaths;
SQL命令按最高金額「殺死除以死亡」
如何訂購字段,以便我回復最高比例的ID?對不起,英語是我的第二語言,我不知道如何改寫它,所以它更有意義。
在此先感謝。
假設我有一張表: ID | KILLS | DEATHS $ratio = $kills/deaths;
SQL命令按最高金額「殺死除以死亡」
如何訂購字段,以便我回復最高比例的ID?對不起,英語是我的第二語言,我不知道如何改寫它,所以它更有意義。
在此先感謝。
你有沒有嘗試這個辦法:
select id from table order by kills/deaths desc limit 1;
嘗試(kills + 0.0)/deaths
如果它不自動升級爲浮動。
也可以嘗試kills/(deaths+0.0001)
防止由零鴻溝..
我認爲這是它,讓我試試看。 – VladHQ 2013-05-11 13:46:51
需要按照殺死/死亡限制1的順序排列最高比例。 – 2013-05-11 13:48:52
還有一些考慮因素是什麼時候玩家有'死亡= 0'(不應該在列表頂部?) – 2013-05-11 13:52:46
WITH CTE AS
(
SELECT T.*,
Ratio = kills/deaths,
Rank = DENSE_RANK()OVER(PARTITION BY Id ORDER BY kills/deaths DESC)
FROM dbo.TableName T
)
SELECT * FROM CTE WHERE Rank = 1
嘗試
SELECT TOP 1 ID, cast(Kills/Deaths as float) FROM KillsDeaths
ORDER BY (Kills/Deaths) DESC
TOP不是mysql的方式。這是LIMIT,而且最後。 – Bohemian 2013-05-11 14:01:35
啊..我的失敗 - 我沒有正確地閱讀這個問題。 – 2013-05-11 14:02:32
你要什麼做的,如果人並列最高比例首位?青睞殺人數量最多還是死亡人數最少?如果具有最高比例的人具有相同的殺死和死亡數量呢? – pilcrow 2013-05-11 15:06:36
收藏殺敵數最高的玩家。 – VladHQ 2013-05-12 07:40:55