ENT_INFO表( ID 主键, industryCode 行业代码 )两字段
每个行业都随即取一条数据,怎么搞?
SELECT * FROM ENT_INFO WHERE id IN ( SELECT MIN(id)+CAST(RAND()*(MAX(id)-MIN(id)+1) AS INT) FROM ENT_INFO GROUP BY industryCode)
可以使用RAND()函数,也可以使用rownumber() over()函数取行号。
SELECT * FROM ( SELECT ID,INDUSTRYCODE,(CASE ROW_NUMBER() OVER(PARTITION BY INDUSTRYCODE) WHEN 1 THEN 0 ELSE NULL END) AS MARKS FROM DB2ADMIN.RANDTEST ORDER BY INDUSTRYCODE,RAND() ) TMP WHERE MARKS IS NOT NULL