Tóm tắt
Sử dụng AVG(LENGTH(cot_chuoi)) để tính trung bình số byte của chuỗi. Kết hợp LIMIT nếu chỉ muốn lấy mẫu.
Ví dụ
1. Tạo bảng
CREATE TABLE AverageString (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Value VARCHAR(20)
);
2. Dữ liệu
INSERT INTO AverageString (Value) VALUES ('MySQL Query'), ('SQL Server Query');
3. Truy vấn
SELECT AVG(LENGTH(Value)) FROM AverageString LIMIT 10;
4. Kết quả
+--------------------+
| avg(length(Value)) |
+--------------------+
| 13.5000 |
Giải thích: 'MySQL Query' = 11 byte, 'SQL Server Query' = 16 byte → (11+16)/2 = 13.5.
Lưu ý
LENGTH()trả về số **byte** (UTF-8: 1-4 byte/ký tự).- Dùng
CHAR_LENGTH()hoặcCHARACTER_LENGTH()để đếm **số ký tự**. LIMIT 10ở đây vô nghĩa vì AVG trả về 1 hàng – chỉ minh họa cú pháp.
Mở rộng: Trung bình theo nhóm
SELECT category, AVG(CHAR_LENGTH(name)) AS avg_chars
FROM products
GROUP BY category;