[英]Highest rating between two columns in sql select
說我有下表:
--------------------
|ID|Yes|No|Filename|
|01|15 |10|1.php |
|02|12 |5 |2.php |
|03|6 |1 |3.php |
--------------------
我想做的是在sql select語句中應用Yes / Yes + No,並回顯最高值的文件名。
“是”和“否”會不時更新,因此最好創建另一列來處理方程式,還是可以在sql語句中使用方程式? 選擇語句的外觀如何?
謝謝
對於MySQL
,
SELECT Filename,
CAST((Yes / (Yes + No)) AS DECIMAL(10,5)) rating
FROM table1
WHERE CAST((Yes / (Yes + No)) AS DECIMAL(10,5)) =
(
SELECT MAX(rating)
FROM
(
SELECT CAST((Yes / (Yes + No)) AS DECIMAL(10,5)) rating
FROM table1
) x
)
對於SQL Server
SELECT TOP 1 WITH TIES Filename,
(Yes / (Yes + No)) rating
FROM table1
ORDER BY rating DESC
您可以使用這種方法:
SELECT TOP 1 sf.Filename
, (sf.Yes / (sf.Yes + sf.No)) AS RatioValue
FROM dbo.storeFile AS sf
ORDER BY (sf.Yes / (sf.Yes + sf.No)) DESC
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.