mysql 分組排序並加序號


mysql 分組排序並加序號。

1.需要在已分好組的數據外,嵌套一層查詢。這層查詢只用來做小組的編號,或者是order by,序號生成是在Order by 之后(這點很重要)。

2.加上綠色背景部分

3.相同的package_item_id,進行小組排序。

SELECT 
 @r:= CASE WHEN @rank=te.package_item_id THEN @r+1 ELSE 1 END AS quoteRanking,
		@rank:=te.package_item_id AS TYPE,
		te.* FROM (
  SELECT 

    pqi.item_Name itemName,
    pqi.`package_item_id`,
    pt.bidder_Name_Cn bidderName,
    pt.`bidder_id`,
    ROUND(MAX( pqi.unit_Price_Taxed), 2) quotePrice,
    DATE_FORMAT(
      pqi.create_Time,
      '%Y-%m-%d %H:%i:%s'
    ) quoteTime,
    pqi.price_Unit priceUnit,
    pqi.price_Currency priceCurrency 
  FROM
    ptb_quote pt,
    ptb_quote_item pqi 
  WHERE pt.id = pqi.quote_id 
    AND pt.package_id = '10937' 
    AND pqi.unit_Price_Taxed IS NOT NULL 
    AND pt.is_Deleted = '0' 
    AND pqi.is_Deleted = '0'
GROUP BY pqi.package_item_id,
  pt.bidder_id 
ORDER BY pqi.package_item_id,
  pqi.unit_Price_Taxed DESC ) te,(SELECT @r:=0 ,@rank:='') b
  ORDER BY te.package_item_id,
  te.quotePrice DESC   

  效果圖

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM