我在名为“数据”的列中有一个包含许多整数的表
data | param
123 1
432 1
123 1
423 2
234 1
423 2
我有一个查询
SELECT data FROM data_table WHERE param=*something* GROUP BY data
ORDER BY rand() LIMIT 1
从表中返回一个随机的不同整数。但我还需要获取我选择的整数总数。我试过了:
SELECT DISTINCT(data) AS data, COUNT(DISTINCT(data)) as count FROM
data_table WHERE param=*something* ORDER BY rand() LIMIT 1
这将返回从中选择数据的正确数字,但返回的数据不是随机的 - 它始终是同一行。所以我需要获取在应用 WHERE 之后选择 rand() 的行数。因此,对上表进行查询应返回:
query WHERE param='1':
data count
123 3
query WHERE param='1':
data count
432 3
query WHERE param='1':
data count
234 3
query WHERE param='2':
data count
423 1