【问题标题】:Sort data with GROUP_CONCAT and COUNT使用 GROUP_CONCAT 和 COUNT 对数据进行排序
【发布时间】:2015-05-11 17:20:35
【问题描述】:

我有表 produktransaksi_detail

然后,我有两个问题。

第一个查询:

SELECT produk.idproduk, produk.nmproduk, COUNT(*) AS total
FROM produk, transaksi_detail
WHERE produk.idproduk=transaksi_detail.idproduk
GROUP BY produk.nmproduk

结果:

idproduk   |   nmproduk    |    total_order
-------------------------------------------
I3               coffe           6
I4               pencil          2
I1               bread           6
I2               snack           7
I5               tea             2

第二次查询:

SELECT GROUP_CONCAT(produk.idproduk) AS idproduk, transaksi_detail.idtransaksi
FROM produk, transaksi_detail
WHERE produk.idproduk=transaksi_detail.idproduk
GROUP BY transaksi_detail.idtransaksi

结果:

idproduk   |   idtransaction
----------------------------
I2, I1, I5          1
I2, I4              2
I2, I3              3
I2, I1, I4          4
I1, I3              5
I2, I3              7
I1, I3              8

如何使结果类似于第二个结果,但“idproduk->GROUP_CONCAT”在第一个查询中基于 total_order 排序。 像这样:

 idproduk   |   idtransaction
----------------------------
I1, I2, I5          1
I4, I2              2
I3, I2              3
I4, I2, I1          4
I3, I1              5
I2, I3              7
I1, I3              8

“idproduk”第一个来自“I2”,因为total_order大于另一个'desc'。

【问题讨论】:

    标签: mysql count group-concat


    【解决方案1】:

    你可以试试

    SELECT GROUP_CONCAT(order_count.idproduk ORDER BY order_count.total DESC) AS idproduk, 
           transaksi_detail.idtransaksi 
    FROM   (SELECT produk.idproduk, 
                   COUNT(*) AS total 
            FROM   produk, 
                   transaksi_detail 
            WHERE  produk.idproduk = transaksi_detail.idproduk 
            GROUP  BY produk.nmproduk) order_count 
           INNER JOIN transaksi_detail 
                   ON order_count.idproduk = transaksi_detail.idproduk 
    GROUP BY transaksi_detail.idtransaksi
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-02
      • 2011-08-16
      • 1970-01-01
      • 1970-01-01
      • 2012-03-25
      • 1970-01-01
      • 2017-05-18
      相关资源
      最近更新 更多