[英]Select the least number from database
我想您可以說一個就運行兩個查詢。 我正在嘗試建立一個評分系統,每個人都有兩次機會。 最少的是最好的。 我需要做的是讓php查詢為每個人選擇最小的數字,然后顯示具有3個最小數字的人的3個名字。
我猜我需要使用這樣的查詢來獲取每個人的最小數量:
$sql = mysql_query("SELECT LEAST(MIN(timeone),MIN(timetwo))FROM table1");
(也許該代碼也不正確)
但是在此之后,我很困惑如何使它顯示與3個最小數字相關的名稱。
所有數據都在同一表中
這樣的例子
name number1 number2
1 10 8
2 4 7
3 12 11
4 3 17
因此它將確定名稱1的最小數字是8,名稱2是4,名稱3是11和名稱4是3。
然后,它將確定三個最小的三個分別是名稱1,名稱2,名稱4並列出它們。
因此,您可以使用如下順序和限制來實現此目的:
SELECT name,LEAST(number1,number2) as Smaller FROM table1
ORDER BY smaller
LIMIT 3;
或者只是為了獲得他們的名字:
SELECT name FROM table1
ORDER BY LEAST(number1,number2)
LIMIT 3;
我不知道這是否是最佳解決方案,因為我本人不是dba,但您可以使用:
SELECT min(col_alias) AS min_value FROM (
SELECT col1 AS col_alias FROM yourtable
UNION ALL
SELECT col2 FROM yourtable
) vw
另一個(更好的IMO)解決方案是從yourtable中選擇所有分鍾,然后使用php中的min函數:
$qry = mysql_query("SELECT min(col1) as minCol1, min(col2) AS minCol2 FROM yourtable");
$rs = mysql_fetch_assoc($qry);
$minNumber = min($rs);
注意:不推薦使用mysql_*
函數。 或者,您可以使用mysqli_*
函數或遷移到PDO
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.