2010-04-13 34 views
7

giả mysql là một cái gì đó như thế nàynhóm mysql bằng và đếm hàng vấn đề

select x,y 
from xx 
group by y 

tôi muốn biết có bao nhiêu hàng mà chọn sẽ nhận được, tôi đã cố gắng để sử dụng đếm nhưng nó sẽ không trả lại tất cả kết quả vì tôi đang sử dụng nhóm.

cách thực hiện điều đó?

Cảm ơn

+0

Bạn có muốn biết có bao nhiêu hàng trong mỗi nhóm? Hoặc có bao nhiêu hàng trong tất cả các nhóm? Hoặc có bao nhiêu nhóm? – keithjgrant

+0

tất cả các hàng mà lựa chọn này trả về – trrrrrrm

Trả lời

14

Bạn có thể quấn truy vấn của bạn như sau:

SELECT COUNT(*) FROM 
    (select x,y 
    from xx 
    group by y) sub; 
+3

Bất kỳ ý tưởng nào có thể thực hiện điều này nếu máy chủ MySQL được đề cập không cho phép truy vấn phụ? –

0

Giả sử bạn có một bảng với các nội dung dưới đây:

------------------- 
| ID | NAME | GROUP | 
+-------------------+ 
| 1 | A | 1 | 
+-------------------+ 
| 2 | B | 2 | 
+-------------------+ 
| 3 | C | 2 | 
+-------------------+ 
| 4 | D | 3 | 
+-------------------+ 
| 5 | E | 1 | 
+-------------------+ 
| 6 | F | 3 | 
+-------------------+ 

Các tự LEFT sau THAM GIA đếm số lượng các giá trị khác biệt trong GROUP.

SELECT COUNT(*) 
FROM table AS t1 
LEFT JOIN table AS t2 ON t2.GROUP = t1.GROUP AND t2.ID > t1.ID 
WHERE t2.id IS NULL; 

Truy vấn này là gì, cho mỗi nhóm, phần tử có id cao nhất.

Các vấn đề liên quan