[請益] 請教SQL語法...
遇到一個難題,想請各位大大們幫忙一段SQL語法..
使用mysql
有個table 裡面的data
auto_id pid isbn book_name p_name
1 20 9781439854471 sexual danny2529
2 20 9781439854471 sexual chihche
3 20 9780805864618 handbook danny2529
4 20 9780805864618 handbook chihche
5 20 9781848728844 social danny2529
select 這個表單 pid=20 印出全部另外多一個num欄位紀錄count(isbn)
變成
auto_id pid isbn book_name p_name num
1 20 9781439854471 sexual danny2529 2
2 20 9781439854471 sexual chihche 2
3 20 9780805864618 handbook danny2529 2
4 20 9780805864618 handbook chihche 2
5 20 9781848728844 social danny2529 1
用過
select a.*,(select count(b.isbn) from table b where pid='20' AND a.isbn=b.isbn)
from table a where pid='20'
但是數度之慢
也改用 inner join+group by 的方式 但是會變成只顯示出3筆資料(就是重複的合起來了)
請問大大有什麼方式能寫出這種需求嗎??
目前有拉一個function出來算num 可是更慢...
因為資料都是好幾千筆的....使用者可能會瘋掉
感謝各位大大了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 120.119.126.67
→
08/07 14:29, , 1F
08/07 14:29, 1F
→
08/07 14:29, , 2F
08/07 14:29, 2F
這id 1 2會合併 3 4 也會 但是我要全部都顯示出來@@
就如第二個那樣
謝謝你的回復
※ 編輯: danny2529 來自: 120.119.126.67 (08/07 15:19)
→
08/07 16:55, , 3F
08/07 16:55, 3F
PHP 近期熱門文章
PTT數位生活區 即時熱門文章