Tôi có một sql như thế này:MySQL: cách nhận hồ sơ có số> 1?
SELECT *, count(*) as cc
FROM manytomany
GROUP BY aid, bid
ORDER BY cc DESC
mà trả lại toàn bộ hồ sơ với số lượng #. Tuy nhiên, tôi có thể làm gì nếu tôi chỉ muốn nhận số đếm> 1?
Tôi có một sql như thế này:MySQL: cách nhận hồ sơ có số> 1?
SELECT *, count(*) as cc
FROM manytomany
GROUP BY aid, bid
ORDER BY cc DESC
mà trả lại toàn bộ hồ sơ với số lượng #. Tuy nhiên, tôi có thể làm gì nếu tôi chỉ muốn nhận số đếm> 1?
SELECT *, count(*) as cc
FROM manytomany
GROUP BY aid, bid
HAVING 1 < count(*)
ORDER BY cc DESC
Bạn cần một khoản HAVING, ví dụ:
SELECT *, count(*) as cc
FROM manytomany
GROUP BY aid, bid
HAVING COUNT(*) > 1
ORDER BY cc DESC
Dưới đây là một số background.
SELECT *, count(*) as cc
FROM manytomany
GROUP BY aid, bid
HAVING COUNT(*) > 1
ORDER BY cc DESC
Tôi không sử dụng MySQL, nhưng nó cần hỗ trợ HAVING-it đã được sử dụng cùng lúc.
Các HAVING
khoản
SELECT *, count(*) as cc
FROM manytomany
GROUP BY aid, bid
HAVING cc > 1
ORDER BY cc DESC
Bạn sử dụng có điều khoản.
SELECT *, count(*) as cc
FROM manytomany
GROUP BY aid, bid
HAVING count(*) > 1
ORDER BY cc DESC
SELECT *, count(*) as cc
FROM manytomany
GROUP BY aid, bid
HAVING cc>1
ORDER BY cc DESC
Tôi chưa bao giờ viết nó là 'CÓ 1
Tại sao bạn đặt 1 ở phía bên trái của biểu thức? Chắc chắn, nó phù hợp về mặt logic, nhưng chỉ tò mò ... – gahooa
khả năng đọc. sẽ dễ dàng nắm bắt nhanh hơn cấu trúc của biểu thức nếu toán tử infix gần với biểu thức bắt đầu: '1 1' –