/************************************************************************/
/*
前題:SQL Server也有類似GROUP_CONCAT功能的function
(我是用MySQL)
*/
/************************************************************************/
第一題解法:
SELECT `投手`,
GROUP_CONCAT(`球種` SEPARATOR ';') AS `球種清單`,
FROM `p_ball`
ORDER BY `投手`, `球種`
GROUP BY `投手`
第二題解法:
SELECT `table1`.`球種清單`, COUNT(`table1`.`投手`)
FROM (
SELECT `投手`,
GROUP_CONCAT(`球種` SEPARATOR ';') AS `球種清單`,
FROM `p_ball`
ORDER BY `投手`, `球種`
GROUP BY `投手`
) AS `table1`
GROUP `球種清單`
大致是如此,再次強調這是以MySQL思維去解的…
所以也只是賺賺p幣的(逃)
---
怎麼感覺這好像會是某工司的面試題目^^"
※ 引述《artingo (2008的三大目標)》之銘言:
: 小弟把從電動檔裡抓的投手球種匯進Sql Server裡
: 變成類似如下的關連表
: Table Name: << p_ball >>
: 投手 球種 主要武器順序
: ---------------------------------------
: Wang 伸卡球 1
: Wang 滑球 2
: Wang 變速球 3
: Nilson 曲球 1
: Nilson 變速球 2
: Santana 曲球 1
: Santana 變速球 2
: Webb 伸卡球 1
: Webb 曲球 2
: Webb 變速球 3
: . . .
: . . .
: ======================================
: 如上表,
: 1.我想找出哪些投手所會的球路是一模一樣的 (具有相同武器的投手名稱)
: 2.列出各種球路組合的投手,所占的數量分佈 (例如:只會曲球+變數球的投手有2位)
: 配合前端程式語言去過濾應該是可以作到,不過應該會很耗時
: 想問一下,這有辦法直接下SQL語法Select出來嗎?(結果呈現的格式不拘)
: 還是要改一下匯入的欄位型式才行?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.205.65