唔得咪用貼2 寫法, 其實都係一樣的做法, 先找出 max(date) 的 codeid, 再join 返其他結果, 只係寫法不同.

唔知openoffice base可唔可以咁寫.. 不過mysql就可以
7h1r733n 發表於 2015-10-21 17:21

TOP

回覆  masseffect

點解有可能係錯既?
twaiho2003 發表於 2015-10-21 18:36


你嗰句project 左啲唔喺group by 入面嘅嘢field,standard sql唔support
就算係support 嘅,好似MYSQL,佢都係喺嗰group入面咁多條record是但揀一條嚟用

以上面個例子,group by code_id,但有兩條同code_id但唔同price 嘅record,最後select出嚟可以係$488,又可以係$498

TOP

回覆 12# masseffect


    我打左max(date), 我用mysql試左係出最新果個record

TOP

本帖最後由 masseffect 於 2015-10-21 19:18 編輯
回覆  masseffect


    我打左max(date), 我用mysql試左係出最新果個record
twaiho2003 發表於 2015-10-21 19:09

唔出奇,佢是但揀一條揀岩左
但個DB 唔會保證以後都係岩
因為你根本無話俾佢聽要揀邊條,max(date)只係projection,唔會指定佢揀邊條

你條sql只係project左group 入面date 最大嘅value 加埋group入面任意一條record嘅其他field出嚟

TOP

唔得咪用貼2 寫法, 其實都係一樣的做法, 先找出 max(date) 的 codeid, 再join 返其他結果, 只係寫法不同.

...
java2 發表於 2015-10-21 18:58

我只係想講.. 同一個結果可以有唔同做法.. :D

TOP

一見呢種問題就諗起 ....不過 Openoffice base 應該唔支援
max(date) over  (partition by code_id)

TOP

本帖最後由 LoneGumMan 於 2015-10-21 21:42 編輯

--- delete ---

TOP

喔!完來唔支援,謝謝各位師兄教路

TOP

MySQL 同 Oracle 可以寫 analytic function, 只需 full-table scan 一次

TOP

本帖最後由 xeon0541 於 2015-10-22 23:14 編輯
MySQL 同 Oracle 可以寫 analytic function, 只需 full-table scan 一次
henrywho 發表於 2015-10-22 18:45



    you are wrong, the performance is significantly improved once the index properly applied

TOP