编号MySQL结果

时间:2017-03-08 00:24:08

标签: php mysql

使用以下MySQL查询:

    SELECT  SUM(vg.count) AS sum, vg.code, lh.luchthavencode
    FROM 
    (
    SELECT COUNT( * ) AS COUNT, vg.vertrekluchthaven AS code
    FROM tbl_vluchtgegevens vg
    WHERE vg.vertrekdatum2 <= NOW( ) 
    GROUP BY vg.vertrekluchthaven

    UNION  

        SELECT COUNT(*) AS COUNT, vg.aankomstluchthaven AS code
        FROM tbl_vluchtgegevens vg  
        WHERE vg.vertrekdatum2 <=NOW()
        GROUP BY vg.aankomstluchthaven
    ) vg
    INNER JOIN tbl_luchthaven lh
    ON  lh.luchthavenID = vg.code
    GROUP BY vg.code
    ORDER BY sum DESC
    LIMIT 10

我想弄清楚如何对结果进行编号,这样当我在PHP页面上显示它们时,它就更容易理解结果。

例如,目前我的结果会显示如下:

Sum   |   Code  |   Luchthavencode
41        121             MSP
26        91              AMS
9         246             ORD
8         116             DTW
6         169             LHR
6         142             IAH
6         346             SYR
5         149             JFK
5         13              AKL
5         417             FRA 

我想要的是让它像这样列出:

No. |   Sum   |   Code  |   Luchthavencode
1       41        121             MSP
2       26        91              AMS
3       9         246             ORD
4       8         116             DTW
5       6         169             LHR
6       6         142             IAH
7       6         346             SYR
8       5         149             JFK
9       5         13              AKL
10      5         417             FRA 

这是通过MySQL查询还是通过PHP输出实现的最佳效果?

我尝试将此添加到我的SELECT(@row_number:= @ row_number + 1)AS num中,但它将它们编号为:45,4,47,18,34,24,56,27, 2,63

编辑包含输出PHP:

while($row = mysqli_fetch_assoc($result)) {

    echo"  <table width='100px' border='0' cellpadding='1' cellspacing='1'>";
    echo "  <tbody>";
    echo "    <tr>";
    echo "      <td width='60px'><strong>&nbsp; &nbsp;".$row['luchthavencode']."</strong></td>";
    echo "      <td width='30px'><strong>&nbsp; &nbsp;".$row['sum']."</strong></td>";
    echo "    </tr>";
    echo "  </tbody>";
    echo "</table>";    
}

3 个答案:

答案 0 :(得分:0)

在查询开始时使用此代码以获取多行

SELECT @rownum:=@rownum+1 AS rownum

答案 1 :(得分:0)

使用变量应该有效,请尝试检查它是否有效:

public listItems: Array<string> = ["Product1", "Product2"];

答案 2 :(得分:0)

我假设你想要一个包含这些数据的表,所以我修复了我认为是表格构建中的错误以及添加计数器

list