如何获取每个类别中具有特定百分比的数据

时间:2015-06-02 07:14:05

标签: php mysql sql function

  1. 我有一个名为' Quiz'的Mysql表。列和问题', '回答'和'类别'。
  2. 我有数学,物理和化学类别,每个都有10个问题。
  3. 如果我的查询是mysql select * from Quiz,我需要打印类似的内容 'mysql select * from Quiz where category = maths %50, physics %20 and chemistry %30

    如何在Mysql查询中完成?请帮帮我

1 个答案:

答案 0 :(得分:1)

这只能通过单独的SELECTs来完成。但您可以使用UNION将它们合并为一个。

(select * from Quiz where category='math' order by rand() limit 5)
union all
(select * from Quiz where category='physics' order by rand() limit 3)
union all
(select * from Quiz where category='chemistry' order by rand() limit 2)

您应该预先计算每个类别的问题数量。 另请注意,按rand()排序对于大表来说是一种糟糕的方式。