Hướng dẫn mysql select rows with same column value - mysql chọn các hàng có cùng giá trị cột

Trong bảng [thành viên], một số hàng có cùng giá trị cho cột

SELECT email,
       count(*) AS c
FROM TABLE
GROUP BY email
HAVING c > 1
ORDER BY c DESC
2.

login_id | email
---------|---------------------
john     | 
peter    | 
johnny   | 
...

Một số người đã sử dụng một login_id khác nhưng cùng một địa chỉ email, không có ràng buộc duy nhất nào được đặt trên cột này. Bây giờ tôi cần tìm những hàng này và xem chúng có nên được gỡ bỏ không.

Tôi nên sử dụng câu lệnh SQL nào để tìm các hàng này? (MySQL 5)

Hướng dẫn mysql select rows with same column value - mysql chọn các hàng có cùng giá trị cột

Adi inbar

11.8K13 Huy hiệu vàng54 Huy hiệu bạc69 Huy hiệu đồng13 gold badges54 silver badges69 bronze badges

Đã hỏi ngày 23 tháng 11 năm 2009 lúc 22:33Nov 23, 2009 at 22:33

Truy vấn này sẽ cung cấp cho bạn một danh sách các địa chỉ email và số lần chúng được sử dụng, với các địa chỉ được sử dụng nhiều nhất trước tiên.

SELECT email,
       count(*) AS c
FROM TABLE
GROUP BY email
HAVING c > 1
ORDER BY c DESC

Nếu bạn muốn các hàng đầy đủ:

select * from table where email in (
    select email from table
    group by email having count(*) > 1
)

Đã trả lời ngày 23 tháng 11 năm 2009 lúc 22:38Nov 23, 2009 at 22:38

Scott Saundersscott SaundersScott Saunders

294K14 Huy hiệu vàng55 Huy hiệu bạc63 Huy hiệu đồng14 gold badges55 silver badges63 bronze badges

4

select email from mytable group by email having count(*) >1

Đã trả lời ngày 23 tháng 11 năm 2009 lúc 22:36Nov 23, 2009 at 22:36

HlgemhlgemHLGEM

93K15 Huy hiệu vàng111 Huy hiệu bạc182 Huy hiệu đồng15 gold badges111 silver badges182 bronze badges

2

Dưới đây là truy vấn để tìm ____ 12 được sử dụng cho nhiều hơn một

SELECT email,
       count(*) AS c
FROM TABLE
GROUP BY email
HAVING c > 1
ORDER BY c DESC
4:

SELECT email
FROM table
GROUP BY email
HAVING count(*) > 1

Bạn sẽ cần truy vấn thứ hai (của lồng nhau) để có được danh sách

SELECT email,
       count(*) AS c
FROM TABLE
GROUP BY email
HAVING c > 1
ORDER BY c DESC
4 bằng
SELECT email,
       count(*) AS c
FROM TABLE
GROUP BY email
HAVING c > 1
ORDER BY c DESC
2.

Đã trả lời ngày 23 tháng 11 năm 2009 lúc 22:36Nov 23, 2009 at 22:36

Hướng dẫn mysql select rows with same column value - mysql chọn các hàng có cùng giá trị cột

HlgemhlgemIvan Nevostruev

93K15 Huy hiệu vàng111 Huy hiệu bạc182 Huy hiệu đồng8 gold badges63 silver badges82 bronze badges

Dưới đây là truy vấn để tìm ____ 12 được sử dụng cho nhiều hơn một

SELECT email,
       count(*) AS c
FROM TABLE
GROUP BY email
HAVING c > 1
ORDER BY c DESC
4:
This worked for me:

select email, COUNT(*) as C from table 
group by email having COUNT(*) >1 order by C desc

Bạn sẽ cần truy vấn thứ hai (của lồng nhau) để có được danh sách

SELECT email,
       count(*) AS c
FROM TABLE
GROUP BY email
HAVING c > 1
ORDER BY c DESC
4 bằng
SELECT email,
       count(*) AS c
FROM TABLE
GROUP BY email
HAVING c > 1
ORDER BY c DESC
2.Nov 8, 2013 at 9:27

Ivan Nevostruevivan Nevostruev

 select * from table where email in (
    select email from table group by email having count(*) > 1 and email != ''
    )

Phim thương hiệu vàng 27.5k8May 17, 2016 at 17:26

Phần đầu tiên của câu trả lời được chấp nhận không hoạt động cho MSSQL. Điều này làm việc cho tôi:

  select email, login_id from table
    group by email, login_id
    having COUNT(email) > 1

Đã trả lời ngày 8 tháng 11 năm 2013 lúc 9:27Feb 11, 2016 at 9:21

Hướng dẫn mysql select rows with same column value - mysql chọn các hàng có cùng giá trị cột

Sử dụng điều này nếu cột email của bạn chứa các giá trị trốngLibertine

Đã trả lời ngày 17 tháng 5 năm 2016 lúc 17:264 silver badges10 bronze badges

3

Cảm ơn các bạn :-) Tôi đã sử dụng dưới đây vì tôi chỉ quan tâm đến hai cột đó và không quá nhiều về phần còn lại. Làm việc tuyệt vời

SELECT * FROM member WHERE email = (Select email From member Where login_id = ) 

Đã trả lời ngày 11 tháng 2 năm 2016 lúc 9:21

LibertinelibertineJul 18, 2018 at 14:19

3734 Huy hiệu bạc10 Huy hiệu đồng

SELECT *
FROM   member
WHERE  email IN (SELECT email
                 FROM   member
                 WHERE  login_id = ) 

Hướng dẫn mysql select rows with same column value - mysql chọn các hàng có cùng giá trị cột

Tôi biết đây là một câu hỏi rất cũ nhưng điều này là nhiều hơn cho một người khác có thể có cùng một vấn đề và tôi nghĩ điều này chính xác hơn với những gì đã muốn.

Điều này sẽ trả về tất cả các bản ghi có giá trị login_id.42 gold badges43 silver badges49 bronze badges

Đã trả lời ngày 18 tháng 7 năm 2018 lúc 14:19Mar 8, 2019 at 10:23

Hướng dẫn mysql select rows with same column value - mysql chọn các hàng có cùng giá trị cột

Nhận toàn bộ bản ghi khi bạn muốn sử dụng điều kiện với truy vấn chọn bên trong.

karel

Hướng dẫn mysql select rows with same column value - mysql chọn các hàng có cùng giá trị cột

SELECT email,
       count(*) AS c
FROM TABLE
GROUP BY email
HAVING c > 1
ORDER BY c DESC
0

4.89342 Huy hiệu vàng43 Huy hiệu bạc49 Huy hiệu đồngDec 16, 2020 at 14:18

Hướng dẫn mysql select rows with same column value - mysql chọn các hàng có cùng giá trị cột

Đã trả lời ngày 8 tháng 3 năm 2019 lúc 10:23

SELECT email,
       count(*) AS c
FROM TABLE
GROUP BY email
HAVING c > 1
ORDER BY c DESC
1

Điều này hoạt động tốt nhấtDec 28, 2021 at 1:04

Hướng dẫn mysql select rows with same column value - mysql chọn các hàng có cùng giá trị cột

Ảnh chụp màn hìnhsunitkatkar

Đã trả lời ngày 16 tháng 12 năm 2020 lúc 14:181 gold badge13 silver badges12 bronze badges

Được sử dụng để tìm các hàng có giá trị cột cụ thể một cách nhanh chóng?

Các chỉ mục được sử dụng để tìm các hàng có giá trị cột cụ thể một cách nhanh chóng. are used to find rows with specific column values quickly.

Chúng ta có thể sử dụng Chọn * với nhóm không?

Nhóm theo mệnh đề SQL được sử dụng để nhóm các hàng có cùng giá trị.Nhóm theo mệnh đề được sử dụng cùng với câu lệnh SQL Chọn.Câu lệnh SELECT được sử dụng trong nhóm theo mệnh đề chỉ có thể được sử dụng chứa tên cột, hàm tổng hợp, hằng số và biểu thức.The GROUP BY Clause is used together with the SQL SELECT statement. The SELECT statement used in the GROUP BY clause can only be used contain column names, aggregate functions, constants and expressions.

Là chọn * Chọn tất cả giống nhau?

Chọn tất cả các phương tiện tất cả các hàng, tức là bao gồm các hàng trùng lặp..Chọn * có nghĩa là tất cả các cột.. (The opposite is SELECT DISTINCT , where duplicate rows are removed.) ALL is the default, and most people write just SELECT instead of SELECT ALL . SELECT * means all columns.

Chúng ta có thể sử dụng hai nhóm trong cùng một truy vấn không?

Có, có thể sử dụng mệnh đề MySQL Group với nhiều cột giống như chúng ta có thể sử dụng mệnh đề riêng biệt MySQL.Hãy xem xét ví dụ sau trong đó chúng tôi đã sử dụng mệnh đề riêng biệt trong truy vấn đầu tiên và nhóm theo mệnh đề trong truy vấn thứ hai, trên các cột 'fname' và 'lname' của bảng có tên 'kiểm tra'. just as we can use MySQL DISTINCT clause. Consider the following example in which we have used DISTINCT clause in first query and GROUP BY clause in the second query, on 'fname' and 'Lname' columns of the table named 'testing'.