该查询有什么问题?
SELECT
null,
DISTINCT(email),
2,
SUBSTRING(MD5(RAND()) FROM 1 FOR 32)
from users where sex = 'male'
您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以便在'DISTINCT(电子邮件)附近使用正确的语法,
答案 0 :(得分:0)
使用distinct的意图是声明应该删除重复的行。选择
后立即使用DistinctSELECT DISTINCT
null,
email,
2,
SUBSTRING(MD5(RAND()) FROM 1 FOR 32)
FROM users
WHERE sex = 'male'
我猜在前一个查询中删除重复行会失败,因为它包含一个随机列值。但是,可以在子查询中选择不同的电子邮件地址,然后添加其余列:
SELECT DISTINCT
null,
email,
2,
SUBSTRING(MD5(RAND()) FROM 1 FOR 32)
FROM (
SELECT DISTINCT email
FROM users
WHERE sex = 'male'
) males