我有一張這樣的桌子
表用戶報告
| ID | 名稱 | 姓 | 用戶身份 | 結果 |
|---|---|---|---|---|
| 1 | 測驗 | 測驗 | 123 | 1 |
| 2 | 測驗 | 測驗 | 123 | 1 |
| 3 | 測驗 | 測驗 | 123 | 2 |
| 4 | 測驗 | 測驗 | 123 | 3 |
| 5 | 約翰 | 測驗 | 124 | 3 |
| 6 | 約翰 | 測驗 | 124 | 2 |
| 7 | 約翰 | 測驗 | 124 | 1 |
| 8 | 詹姆士 | 測驗 | 125 | 3 |
| 9 | 詹姆士 | 測驗 | 125 | 2 |
我的 sql 正在嘗試獲取名稱 sunrame 并計算結果Id = 1 的數量和需要
SELECT
name ' ' surname
,count(userId) AS userCount
FROM [userReport]
GROUP BY userId
它給出了錯誤
列 'userReport.name' 在選擇串列中無效,因為它不包含在聚合函式或 GROUP BY 子句中。
列 'userReport.surname' 在選擇串列中無效,因為它不包含在聚合函式或 GROUP BY 子句中。
我也想resultId = 1在同一個選擇中添加一個 where for
所以就像將這三個選擇合二為一
select name ' ' surname from [userReport]
select count(userId) as userCount from [userReport] group by userId
select count(userId) as resultCount from [userReport] where resulId='1' group by userId
uj5u.com熱心網友回復:
最快的解決方法可能是在GROUP BY子句中添加姓名和姓氏:
SELECT userId, name ' ' surname AS full_name, COUNT(*) AS userCount
FROM userReport
GROUP BY userId, name ' ' surname;
請注意,我還添加userId了該SELECT子句。如果兩個用戶碰巧有相同的名字和姓氏,您可能希望這樣做。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/404952.html
標籤:
上一篇:從LEFTJOIN保存輸出表
