好吧,让我们来做吧。
我有2个表,一个用于存储可以选择的选项,另一个用于存储选择该选项的人数。
所以表1:
id, option_name, description
表2:
id, chosen_by_who
基本上如果“John”选择“Cat”(表1中的id为3),我的脚本将插入
(3, john)
如果有5个人选择了“猫”,则会有5个“猫”计数,这就是我计划如何制作统计数据。
问题出在我的统计数据中说:“3”被5人选中。
我希望它说“猫”被5人选中。
由于Cat在表1中具有相同的ID,因此我想链接它们并将3定义为cat。
这就是我统计我的统计数据的方式:
$query = $pdo->prepare("SELECT `optionid` , COUNT( `optionid` ) AS times
FROM `has_picked` GROUP BY `optionid`");
$query->execute();
所以基本上我想把1定义为狗,2定义为兔子,3定义为猫等等
答案 0 :(得分:1)
您必须JOIN
这些表,因此您可以访问这两个表中的列:
SELECT
t2.option_name,
COUNT(t1.optionid) AS times
FROM
has_picked t1
JOIN
my_options t2 ON(t2.id = t1.optionid)
GROUP BY
t1.optionid
答案 1 :(得分:0)
要合并多个表中的行,请考虑使用JOIN子句
SELECT
table1.id,
table1.option_name,
COUNT(table1.id) AS times
FROM table2
JOIN table1 ON (table1.id = table2.id)
GROUP BY
table2.id