Re: [SQL ] mysql語法問題
看板Database (資料庫)作者grassboy2 (天才小胖子-活力花俏草兒)時間18年前 (2007/02/05 17:14)推噓0(0推 0噓 0→)留言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)
討論串 (同標題文章)
Database 近期熱門文章
PTT數位生活區 即時熱門文章
-1
12