目錄
回覆內容:
首頁 後端開發 php教程 關於資料庫指定規則排序的問題

關於資料庫指定規則排序的問題

Aug 04, 2016 am 09:21 AM
mysql php sql

資料庫有列store儲存商城名字,現在想讓商城為淘寶,亞馬遜排在前面,其餘商城依資料建立時間排序,而且需要分頁。
有想方案
一mysql有提供按field排序的方法,但是filed必須包含資料庫已存在的所有商城類型,不然沒包括的會打亂排序,但是store下的商城(比如日亞等等)會陸續增加,所以這條sql語句就要持續改變了。於是想請教有沒有什麼很好的方案。
二 增加一個字段對應store的數字id,按數字id排序,但是產品現在是想讓 淘寶,亞馬遜排在前面,但是朝令夕改想讓日亞排在前面,那這套邏輯豈不是打亂了。
請教各位有什麼好的方案。

回覆內容:

資料庫有列store儲存商城名字,現在想讓商城為淘寶,亞馬遜排在前面,其餘商城依資料建立時間排序,而且需要分頁。
有想方案
一mysql有提供按field排序的方法,但是filed必須包含資料庫已存在的所有商城類型,不然沒包括的會打亂排序,但是store下的商城(比如日亞等等)會陸續增加,所以這條sql語句就要持續改變了。於是想請教有沒有什麼很好的方案。
二 增加一個字段對應store的數字id,按數字id排序,但是產品現在是想讓 淘寶,亞馬遜排在前面,但是朝令夕改想讓日亞排在前面,那這套邏輯豈不是打亂了。
請教各位有什麼好的方案。

這個問題得兩個欄位:一個是weight(權重),一個是 sort(排序欄位),
你這樣子

  1. 淘寶: weight: 100 sort: 1,

  2. 亞馬遜:weith: 100 sort: 2,

  3. 日亞: weight: 100 sort: 3

  4. 其他: weight: 1 sort: 1

  5. ...

你的 sql 這麼寫:select * from table order by weight * sort,這樣就解決了。如果要改權限的話,可以調整 weight,也可以改 sort

複雜邏輯排序,不要在資料庫層,應該放到程式碼層,例如放到一個可排序的陣列或是map裡,自己定義排序規則即可,jdk很多排序的陣列和map

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 Dec 24, 2024 pm 04:42 PM

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南

CakePHP 日期和時間 CakePHP 日期和時間 Sep 10, 2024 pm 05:27 PM

CakePHP 日期和時間

CakePHP 檔案上傳 CakePHP 檔案上傳 Sep 10, 2024 pm 05:27 PM

CakePHP 檔案上傳

討論 CakePHP 討論 CakePHP Sep 10, 2024 pm 05:28 PM

討論 CakePHP

如何修復 MySQL 8.4 上的 mysql_native_password 未載入錯誤 如何修復 MySQL 8.4 上的 mysql_native_password 未載入錯誤 Dec 09, 2024 am 11:42 AM

如何修復 MySQL 8.4 上的 mysql_native_password 未載入錯誤

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 Dec 20, 2024 am 11:31 AM

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發

CakePHP 快速指南 CakePHP 快速指南 Sep 10, 2024 pm 05:27 PM

CakePHP 快速指南

CakePHP 建立驗證器 CakePHP 建立驗證器 Sep 10, 2024 pm 05:26 PM

CakePHP 建立驗證器

See all articles