[SQL ]困惑好幾天的MYSQL語法問題
困惑好幾天,還請各位版大鄉民指點一下
以下是一張表A
A
id item
1 1,2,3,4,5,6,7,8
2 1,2,3,4,5,6
3 3,4,5,6,7,8
4 1,7,9
SELECT * FROM `A` WHERE `item` LIKE '%1%' and `item` LIKE '%,7%' and `item`
LIKE '%,9%'
做AND的結果
A
id item
4 1,7,9
SELECT * FROM `A` WHERE `item` LIKE '%1%' or `item` LIKE '%,7%' or `item`
LIKE '%,9%'
做OR的結果
A
id item
1 1,2,3,4,5,6,7,8
2 1,2,3,4,5,6
3 3,4,5,6,7,8
4 1,7,9
不知道有辦法搜尋完變成
A
id item
4 1,7,9
1 1,2,3,4,5,6,7,8
2 1,2,3,4,5,6
3 3,4,5,6,7,8
也就是越符合條件越往前排
目前想到的做法是先搜尋AND 在將ID存下來再搜尋 or 減去 已擁有的ID不過如果資料大
搜尋兩次對系統負擔應該蠻大的
不知道有沒有其它作法 還請指點
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 112.105.189.232
→
05/17 12:07, , 1F
05/17 12:07, 1F
→
05/24 09:19, , 2F
05/24 09:19, 2F