我有这个问题:
SELECT track,data FROM tracks WHERE id != ? ORDER BY RAND() LIMIT %d,%d"
这是我的价值观:
(总是十二个值:)
1,2,3,4,5,6,7,8,9,10,1,2
现在我有两个“双”值,1和2 如何避免我的ORDER BY RAND()获得2倍1或2? 这甚至可能吗?
编辑:
DISTINCT是否正常工作,当我选择两列以上而且“轨道”是相同的而“数据”总是别的什么?
快速检查,DISTINC给出了2x - > 1或2。
答案 0 :(得分:0)
只需添加DISTINCT
:
SELECT DISTINCT track FROM ...
编辑:
如果要在第一列中选择两列并且每个值只显示一行,则必须aggregate values。例如,通过显示data
的最大值:
SELECT track, MAX(data) FROM tracks WHERE id != ?
GROUP BY track
ORDER BY RAND() LIMIT %d,%d