[英]How to group by domain and delete more than two result in MySQL database
在MySQL 8.0.2及更高版本中 ,可以使用Window函数以不太冗长的方式解决此问题。
对于您的MySQL 5.1.73版本 ,我们可以使用Session Variables进行模拟:
SELECT
dt2.Email,
dt2.Domain
FROM
(
SELECT
@row_num := IF(@dmn <> dt1.Domain, 1, @row_num + 1) AS row_no,
@dmn := dt1.Domain AS Domain,
dt1.Email
FROM
(
SELECT
Email,
Domain
FROM Table1
ORDER BY Domain
) AS dt1
CROSS JOIN (SELECT @row_num := 0,
@dmn := '') AS user_init_vars
) AS dt2
WHERE dt2.row_no <= 2
ORDER BY dt2.Domain
您可以按照本教程获得有关此方法如何工作的基本概念: http : //www.mysqltutorial.org/mysql-row_number/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.