簡體   English   中英

從數據庫中選擇最少的數字

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM