首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Access SQL:統計字段前 N 個字符重複次數的查詢寫法

     編輯:程式設計綜合問答

問題描述

表中單列 A 存儲如「電腦A」「電腦A」「光盤B」等數據,需查詢前 2 個字符相同的記錄數,期望輸出:

A      count
電腦    2
光盤    2
手機    2

嘗試使用 WHERE COUNT(LEFT(A,2))=2 報錯:聚合函數不能用於 WHERE 子句。

正確 SQL 寫法

SELECT LEFT(A, 2) AS 前綴, COUNT(*) AS 數量
FROM 表名
GROUP BY LEFT(A, 2)
HAVING COUNT(*) = 2;

關鍵點解析

  • LEFT(A, 2) 截取前 2 個字符作為分組依據。
  • GROUP BY 按截取值分組。
  • HAVING 過濾分組後的聚合結果(這裡保留計數等於 2 的組)。
  • WHERE 用於分組前過濾行,HAVING 用於分組後過濾組。

擴展

若需統計所有前綴及其計數,只需移除 HAVING 子句。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved