簡體   English   中英

使用php進入mysql列,獲取序列化數據的最大價值

[英]Get the greatest value into serialized data with php into mysql column

將最大價值轉化為序列化數據的方法是什么? 例如,我在我的專欄“評級”中有這個:

a:3:{s:12:"total_rating";i:18;s:6:"rating";i:3;s:13:"total_ratings";i:6;}

如何通過查詢選擇3個最大“評級”?

非常感謝

如果你想在SQL中執行它,你可能正在查看一堆SUBSTRING_INDEX(field,':',@offset)調用。 這將是非常可怕的。 在db中存儲對象的序列化版本是一種持久性的便利,但不應將其視為永久存儲方法。 如果您堅持使用序列化字符串進行查詢,那么您已經失去了關系數據庫的所有功能,您也可以將字符串存儲在文本文件中。

最好的選擇是僅將序列化字符串用於持久性目的(例如記住用戶上次訪問時所執行的操作),並將計算所需的數據存儲在正確規范化的字段和表中。 然后,您可以輕松查詢您需要知道的內容。

另一個選項是從字段滿足某些其他條件的行中選擇所有“評級”字符串(例如,date_added字段在上周內),重新實例化應用程序層中的所有對象並在那里進行比較。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM