[請益] 請教SQL語法...

看板PHP作者 (chihche)時間12年前 (2013/08/07 13:00), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串1/1
遇到一個難題,想請各位大大們幫忙一段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
SELECT *, count(isbn) AS num FROM table WHERE pid = '20'
08/07 14:29, 1F

08/07 14:29, , 2F
GROUP BY isbn;
08/07 14:29, 2F
這id 1 2會合併 3 4 也會 但是我要全部都顯示出來@@ 就如第二個那樣 謝謝你的回復 ※ 編輯: danny2529 來自: 120.119.126.67 (08/07 15:19)

08/07 16:55, , 3F
剛剛上面那個GROUP BY isbn, p_name(補上這個就不會合併)
08/07 16:55, 3F
文章代碼(AID): #1I0THy4F (PHP)
文章代碼(AID): #1I0THy4F (PHP)