首頁>Club>
比如有條件1和條件2,每次查詢十條,如果按照條件1查詢資料不足十條時,如何按照條件2補上。
3
回覆列表
  • 1 # web網際網路

    第一種

    根據你的問題描述,其實就是想首先查詢滿足條件一的記錄,然後再查詢滿足條件二的記錄,如果採用and的方式,是不會區分條件一和條件二的,那麼如果要區分兩個條件,可以採用union的方式來實現,也就是將條件一作為第一個union語句,條件二作為第二個union的SQL語句,這樣就能夠滿足你了,如果需要排序什麼的,自己參考相應的手冊解決。

    第二種

    上面是採用原生SQL的辦法來實現,還有一種採用程式的方式來實現,既首先判斷條件一的記錄數的情況,如果條件一的記錄數已經被查詢完了,那麼用程式去查詢條件二的記錄情況,雖然用這種方式來實現可以達到目的,但是有一個弊端,就是涉及到分頁的邏輯什麼的,估計都需要你自己來寫了。

    對比兩種方法,我覺得第一種實現成本要小些,第二種實現成本大但是更靈活一些。

  • 2 # IT全棧工程師

    一般情況下,分頁查詢值設計之初就是單表查詢,因為多表聯查的分頁不好實現,並且很消耗資源,從查詢效率、效能等方面來講,都不划算。

    正如問題中所說,比如有條件1和條件2,每次查詢十條,如果按照條件1查詢資料不足十條時,如何按照條件2補上?原生的SQL完全可以實現,但是這樣做很耗費資源,如果資料量很大,查詢的效率也會很低,建議不要這樣做。

    下面提出個人的一點想法,僅供參考:

    原生的SQL中可以使用IF判斷語句,語法如下:

  • 中秋節和大豐收的關聯?
  • 穿什麼樣的拖鞋才能彰顯女人的氣質?