Re: [SQL ] mysql語法問題

看板Database (資料庫)作者 (天才小胖子-活力花俏草兒)時間18年前 (2007/02/05 17:14), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/3 (看更多)
※ 引述《Suzanne (漫。舞。細。雨)》之銘言: : 我有一個資料表 : order_id status day : ================================== : 10001 A 2005-06-01 : 10002 B 2005-06-25 : 10003 A 2005-06-30 : 10004 C 2005-07-20 : 10005 A 2005-07-23 : 10006 B 2005-07-30 : sql語法要怎麼select才能整理出下面的表格 : 月份 status=A筆數 status=B筆數 status=C筆數 : =================================================== : 2005-06 2 1 0 : 2005-07 1 1 1 : 用我呆呆的腦袋只想出 : $str = "select SUBSTRING(day,1,7),count(status) as a from orders : where status='A' group by SUBSTRING(day,1,7) "; : 可是只能整理出一種status : 請問各位高手該怎麼寫呢? 我也來呆呆的繼續想下去… SELECT `tmp1`.* , `tmp2`.`B`, `tmp3`.`C` FROM ( SELECT SUBSTRING(day,1,7) AS `month`, COUNT(status) AS `A` FROM orders WHERE status='A' GROUP BY SUBSTRING(day,1,7) ) AS `tmp1` LEFT JOIN ( SELECT SUBSTRING(day,1,7) AS `month` COUNT(status) AS `B` FROM orders WHERE status='B' GROUP BY SUBSTRING(day,1,7) ) AS `tmp2` ON `tmp1`.`month` = `tmp2`.`month` LEFT JOIN( SELECT SUBSTRING(day,1,7) AS `month` COUNT(status) AS `C` FROM orders WHERE status='C' GROUP BY SUBSTRING(day,1,7) ) AS `tmp3` ON `tmp1`.`month` = `tmp3`.`month` 耶…這是暴力法啦XD 不過多虧這個問題…我才發現原來MySQL有SUBSTRING() 感激不盡m(_ _)m -- 完蛋…連我都不知道這個對不對了><~有錯請指正 -- ╔作者 grassboy2 來自 ptt.cc 的怒吼! P_GrassboyWebBBS版【http://WebGrassboy.twbbs.org Design By Grassboy@MDS 白日夢工作室 ╚─你現在還以為,瀏覽器不能打逼嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.214.146 ※ 編輯: grassboy2 來自: 140.115.214.146 (02/05 17:21) ※ 編輯: grassboy2 來自: 140.115.214.146 (02/05 17:22)
文章代碼(AID): #15nlLV-B (Database)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):
文章代碼(AID): #15nlLV-B (Database)