我有一张如下表格:
domainname english
www.a.com apples
www.a.com peaches
www.b.com oranges
www.b.com banana
www.c.com watermelon
我想选择一个域名和英语的随机列表,但域名是唯一的。例如:
www.a.com apples
www.b.com banana
www.c.com watermelon
结果每次都需要随机。
我已阅读本网站上的其他示例并尝试了以下内容,但它没有提供唯一的域名列表 - 例如:它们出现两次或更多次:
SELECT DISTINCT(domainname),english FROM table WHERE domainname ORDER BY RAND();
希望有人能给出一些建议。
欢呼声
答案 0 :(得分:3)
尝试此查询:
SELECT * FROM (
SELECT * FROM table ORDER BY RAND()) t
GROUP BY
domainname
答案 1 :(得分:0)
尝试此查询distinct不使用多列名称
SELECT DISTINCT(domainname) FROM table WHERE domainname ORDER BY RAND();
答案 2 :(得分:0)
如果english
列是表格的PRIMARY KEY
(或具有UNIQUE
约束条件),您也可以使用此列:
SELECT t.*
FROM
( SELECT DISTINCT domainname
FROM tableX
) AS dd
JOIN
tableX AS t
ON t.english =
( SELECT tt.english
FROM tableX AS tt
WHERE tt.domainname = dd.domainname
ORDER BY RAND()
LIMIT 1
)