好日子再次給所有SQL大師:)SQL-使用COUNT查詢的問題
我有一個問題查詢我的表使用COUNT。
這是表(tblstudentoffense)內的數據
而這正是我想要的(假設存在offenseType後,新的一列,將算偷竊,結果博彩進攻
這可能嗎?如果可能的話親切地與你提供的代碼添加一個解釋。謝謝:)
好日子再次給所有SQL大師:)SQL-使用COUNT查詢的問題
我有一個問題查詢我的表使用COUNT。
這是表(tblstudentoffense)內的數據
而這正是我想要的(假設存在offenseType後,新的一列,將算偷竊,結果博彩進攻
這可能嗎?如果可能的話親切地與你提供的代碼添加一個解釋。謝謝:)
使用子查詢得到數量和連接具有主要的select語句數
SELECT DISTINCT OffenseType + ' ' + CAST(B.Cnt AS VARCHAR) ,
Othercolumn1,Othercolumn2
FROM Your_tableName A
JOIN
(
SELECT COUNT(*) Cnt , StudentId
FROM Your_tableName
GROUP BY StudentId
) B ON B.StudentId = A.StudentId
這與預期輸出不符。 –
我稍後再試這個。謝謝回覆。 – Mark
嘗試使用CONCAT_WS()
.The CONCAT_WS()
功能是用來連接兩個或多個字符串用分隔符。
注:offensetypeCount是具有預期輸出新列。
SELECT *,CONCAT_WS(' ',offensetype,count(offenseType) AS offensetypeCount FROM tblstudentoffense GROUP BY offensetype;
這是你在找什麼:
WITH SRC AS
(SELECT 'STEALING' OFFENSETYPE,'1' STUDENTID FROM DUAL UNION ALL
SELECT 'STEALING' OFFENSETYPE,'1' STUDENTID FROM DUAL UNION ALL
SELECT 'STEALING' OFFENSETYPE,'1' STUDENTID FROM DUAL UNION ALL
SELECT 'STEALING' OFFENSETYPE,'1' STUDENTID FROM DUAL UNION ALL
SELECT 'GAMING' OFFENSETYPE,'1' STUDENTID FROM DUAL UNION ALL)
SELECT OFFENSETYPE,STUDENTID,COUNT(*) FROM SRC GROUP BY OFFENSETYPE,STUDENTID;
我會在稍後嘗試。謝謝回覆。 – Mark
你可以嘗試
SELECT CONCAT(offensetype, ' ', COUNT(offensetype)) AS offenseType,
studentid,
offenseln,
offensefn,
offensemn,
offensesuffixname
FROM tblstudentoffense
GROUP BY offensetype,
studentid,
offenseln,
offensefn,
offensemn,
offensesuffixname;
我在這個環節http://rextester.com/WZGW41761創建了一個示例。
請閱讀[postgresql-performance](http://stackoverflow.com/tags/postgresql-performance/info)然後** [編輯] **您的問題並提供缺少的信息。 –
什麼樣的數據隱藏在黑色方塊後面? –
@a_horse_with_no_name我使用的是phpMyAdmin的MySQL – Mark