跟大家分享一下MYSQL 語法 群組最新一筆資料如何取

跟大家分享一下MYSQL 語法 群組最新一筆資料如何取
〠▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧
於多筆重複資料中取得該重複群組中最新一筆資料
〠▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧
mySQL group by 默認取分組結果的第一條記錄
#有錯資料都是撈第1筆
SELECT `money_en`,`sell_price`,`buy_price`,`price`,`sub`,`datatype` FROM ( SELECT * FROM oc_money_price WHERE `money_en` =’ETH’ ORDER BY `datatype` DESC ) AS a GROUP BY `datatype`
#修正為-沒用
SELECT `money_en`,`sell_price`,`buy_price`,`price`,`sub`,`datatype` FROM ( SELECT * FROM oc_money_price WHERE `money_en` =’ETH’ ORDER BY `datatype`,`sno` DESC ) AS a GROUP BY `datatype`
#撈出資料還是不對,撈的事最日期最前的一筆oc_money_price
SELECT * FROM (SELECT * FROM `oc_money_price` ORDER BY `sno` DESC) `oc_money_price` GROUP BY datatype ORDER BY sno DESC 沒用-還是第1筆
#重新整理思緒
先搞到最大各類最大SNO號
select max(sno) as max_sno from oc_money_price group by datatype #這是對的
select `sell_price`,max(sno) as max_sno from oc_money_price group by datatype #但配對sell_price會錯
max_sno
5074
5068
5071
5076
——————————————-
#整理如下
select f.* from( select max(sno) as max_sno from oc_money_price group by datatype ) as x inner join oc_money_price as f on f.sno = x.max_sno ORDER BY f.datatype ASC
#但由於1家公司會有2種幣值所以要限制條件
select f.* from( select max(sno) as max_sno from oc_money_price WHERE `money_en` =’ETH’ group by datatype ) as x inner join oc_money_price as f on f.sno = x.max_sno ORDER BY f.datatype ASC
#註 這時候 ORDER BY f.datatype ASC 有沒有這個條件都不會提升速度
———————————————–
#員工最大產值的例子
———————————————–
pid:員工代碼
pyear:年度
pvalue:年度產值
 
SELECT a.pid,a.pyear,MAX(a.pvalue)
FROM mytable a JOIN
(SELECT pid, pvalue = MAX(pvalue)
FROM mytable GROUP BY pid) AS b ON
a.pid= b.pid AND a.pvalue= b.pvalue
GROUP BY a.pid,a.pyear
———————————————-

opencart 你會想關閉的功能 運費試算 購物禮券

==================================
20170919 你會想關閉的功能
==================================
移除checkout/cart 結帳頁面 “購物禮券”功能
移除checkout/cart 結帳頁面 運費試算 功能

移除checkout/cart 結帳頁面 “購物禮券”功能
後台=>模組=>訂單計算模組=>購物禮券 點編輯=>狀態改成關閉
移除checkout/cart 結帳頁面 運費試算 功能
後台=>模組=>訂單計算模組=>運費 點編輯=>運費估價 狀態改成停用