将较低的数字从行导出到CSV

时间:2018-06-20 11:09:48

标签: php mysql pdo

我要将最低编号(min(Number1,Number2,Number3)插入到我的csv文件中的最低列中。 我的桌子:

ID_Unique | Number1 | Number2 | Number3 | 
AB67      |  10   |    20     |   5     |
BC45      |  2   |    10      |  15     |
AS76      |  1  |    40       |   50     |

这是将表格导出到csv的代码的一部分。

    $stmt = $conn->prepare("SELECT tabel1.ID_Unique AS ID,
 tabel1.Number1 AS 'Number1', tabel1.Number2 AS 'Number2',tabel1.Number3 AS 'Number3', tabel1.Lowest AS 'Lowest'
    FROM tabel1
    ");


    $stmt->execute();

    $filelocation = 'exports/';
    $filename     = 'export-'.date('Y-m-d H.i.s').'.csv';
    $file_export  =  $filelocation . $filename;

    $data = fopen($file_export, 'w');

    $csv_fields = array();

    $csv_fields[] = 'ID';
    $csv_fields[] = 'Number1';
    $csv_fields[] = 'Number2';
    $csv_fields[] = 'Number3';
    $csv_fields[] = 'Lowest';

1 个答案:

答案 0 :(得分:2)

使用LEAST

SELECT
    ID_Unique AS ID,
    Number1,
    Number2,
    Number3,
    LEAST(Number1, Number2, Number3) AS Lowest
FROM tabel1;

在没有LEAST函数的数据库中,我们可以使用CASE表达式实现相同的逻辑:

CASE WHEN Number1 < Number2 AND Number1 < Number3 THEN Number1
     WHEN Number2 < Number3 THEN Number2
     ELSE Number3 END AS Lowest
相关问题