我有一個用PHP編寫的搜索表單的網站。 這個網站有很多節和mySql表。MySql多重選擇和分組結果。如何正確地做到這一點?
客戶在抱怨的結果,因爲他們沒有進行分組,並希望他們分組根據現場部分,如下圖所示:
Results in "About" Page:
<the results>
Results in "Blog":
<the results>
...等等。
我必須爲它實現一個快速解決方案,所以我做了幾個查詢並分別運行它們......並使用foreach遍歷結果並打印它們。
嗯,它的工作原理,但我不高興,因爲它很慢,我不知道我會在未來的性能問題。
我不是一個mysql天才,我只是開始我的後端程序員carreer,所以我想讓別人知道我如何以更專業的方式處理這個問題。
我正在考慮使用連接,但我不知道如何使用這種方法對結果進行分組。
任何幫助將不勝感激。
SQL union可能是你的朋友。非常粗略地說,選擇'About'作爲group_id,...其他字段...從table1 union選擇'Blog'作爲group_id,...其他字段...來自table2等。 –
如果部分(=表格)在結構上非常相似,那麼它可能值得一試,但是如果將這些部分組合在一個結構中,則必須在PHP端以某種方式不分解它們,這也會花費一些時間。 –
...進一步的分組/排序可以幫助。但是你是對的,當然這取決於。 –