php - 将两列分组并不同

标签 php mysql

我尝试使用此代码来输出此内容(正确输出)

enter image description here

但是它给了我这个错误的输出 enter image description here

我需要区分名称并按品牌对项目进行分组,但在我的查询中并没有发生这种情况,请参见上图。

$datefilter=mysqli_query($link,"select 
        SUM(INVOICE_ITEM_AMOUNT_MX) AS totalamount,
        INVOICE_NO_MX,
        INVOICE_CUSTOMER_NAME
        ,INVOICE_DATE_MX,ITEM_BRAND_MX
        ,GROUP_CONCAT(INVOICE_ITEM_CODE_MX SEPARATOR '<BR>') as itemcode 
            ,GROUP_CONCAT(INVOICE_ITEM_QTY_MX SEPARATOR '<BR>') as quantity 
            ,GROUP_CONCAT(INVOICE_ITEM_UPRICE_MX SEPARATOR '<BR>') as price 
            ,GROUP_CONCAT(INVOICE_ITEM_SERIAL_MX SEPARATOR '<BR>') as serial 
                    ,GROUP_CONCAT( DISTINCT (INVOICE_SALES_REP_MX) SEPARATOR '<BR>') as salesrep 

            ,GROUP_CONCAT(DISTINCT (ITEM_BRAND_MX) SEPARATOR '<BR>') as brand         
    from invoice where INVOICE_DATE_MX BETWEEN '" .$datefrom. "' AND  '" . $dateto ."' and 
    BRANCH_CODE_MX='".$display_branchcode."' AND INVOICE_STATUS_MX='PAID' GROUP BY INVOICE_SALES_REP_MX,ITEM_BRAND_MX ");

     $count=mysqli_num_rows($datefilter);
        echo '<div class="col-xs-12">

                    <br>
                    <div class="col-xs-6">
    <label> Total Invoice Number: </label> '.$count.'
        </div>
        <div class="col-xs-6">
    <label> Date Range: </label> '.$convertedfrom.' - '.$convertedto.'
        </div>
        </div>';            

        while($daterow=mysqli_fetch_array($datefilter)){
                                    $date=$daterow["INVOICE_DATE_MX"];
                            $customername=$daterow["INVOICE_CUSTOMER_NAME"];
                            $invoiceref=$daterow["INVOICE_NO_MX"];
                            $salesrep=$daterow["salesrep"];
                            $itemcode=$daterow["itemcode"];
                            $imeiserial=$daterow["serial"];
                            $totalnotformat=$daterow["totalamount"];
                            $upricenotformat=$daterow["price"];
                            $quantity=$daterow["quantity"];
                            $itembrand=$daterow["brand"];

                      $total=number_format($totalnotformat,2);
                      $uprice=number_format($upricenotformat,2);            
        echo'
    <div class="col-xs-12">
                    <br>
                    <div class="panel panel-warning">
        <div id="shade" class="panel-body"><label>'.$salesrep.'</label></div>
        <div  id="shade" class="panel-body">
    <div class="col-xs-10">
    <div class="col-xs-4">';
    echo '
    <label>Brand</label>: '.$itembrand.'<br>
    <div class="col-xs-7">
    <label>Item Code</label> <br>'.$itemcode.'  

    </div>
    <div class="col-xs-1">
    <label> Quantity</label> <br>'.$quantity.'  

    </div>
    </div>             
    </div>        
        </div>

最佳答案

我想,以下内容应该有所帮助,以及您想要的意思,即显示不同的名称。但您可以使用 PHP 轻松完成:

SELECT CASE WHEN t.id = (SELECT t2.id FROM process t2
WHERE t2.projectNo = t.projectNo
GROUP BY t2.projectNo LIMIT 1) THEN t.projectNo
ELSE
''
END AS Deatils, t.stuff
FROM process t

示例输入和输出:

mysql_distinct

mysql_distinct_02

关于php - 将两列分组并不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39815756/

相关文章:

php - 重复的数组键(通知 : member variable "a" returned from __sleep() multiple times)

php - 如何在mysql中将下拉列表的选定值存储为id

php - elasticsearch搜索结果为空

php - 选择一个 mysql 时间戳范围

PHPMyAdmin 内联编辑文本字段中损坏的序列化数据

MySQL_在单个查询中检索多行和多列

mysql - 从终端访问 phpmyadmin 数据库

php - 如何知道静态属性是否在php中被继承?

php - 使用TortoiseSVN删除冲突文件(本地文件)后无法更新文件

Mysql 多个用户使用 diff diff SQL_CALC_FOUND_ROWS 导致 diff diff 总行数