看板 Database 關於我們 聯絡資訊
SELECT CASE WHEN finish = 'Y' THEN 'OK' ELSE 'Wait' END AS 'Status', COUNT( 1 ) AS total_count FROM YourTable GROUP BY finish Status total_count Wait 3 OK 2 ※ 引述《averywu (看文不要只會用橫的看)》之銘言: : 資料庫名稱:MySql : 資料庫版本:5.1 : 內容/問題描述: : 我有一個 TABLE,內容值大約如下: : Id,Name,Finish : 1 ,AAA ,Y : 2 ,BBB ,N : 3 ,CCC ,N : 4 ,DDD ,N : 5 ,EEE ,Y : 我想一次把Y跟N的資料錄做加總並顯示出來,我用的查詢語句如下: : SELECT : DECLARE Ok INT, : DECLARE Wait INT, : IF(Finish='Y',@Ok:=@Ok+1) AS Finish, : IF(Finish='N',@Wait:=@Wait+1) AS Waiting : FROM MyTable : 當然,結果跟我想的不同,不會動。 : 我要如何去下變數去計算呢? : 我想達到的結果以上面的例子來說,是取回 : Ok,Wait 二欄,然後值是 2,3 : 另外,在查詢式裡的變數設定到底是 DECLARE 還是 SET 啊? : 感謝指導 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 121.99.39.110 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1431704101.A.071.html
averywu: 感謝!看來用不到變數咧 05/21 09:39