对SQL中的两个表中的两列进行计数


Count two columns from two tables SQL

我有两个表中的数据,我想对它们进行计数,然后使用谷歌条形图进行显示。我一直在苦苦挣扎,在其他任何地方都找不到答案。这两个表有共同的user_id,我想计算第一个表(qsp_tiles)中的gam_id列和第二个表(qsp_orders)中的mam_id列。以下是我正在使用的一点代码:

$db->setQuery("SELECT t.user_id, COUNT ( o.gam_id) AS wake, COUNT( t.mam_id ) AS chuck, 
FROM #__qsp_tiles t
FULL JOIN #__qsp_orders o 
ON t.user_id=o.user_id 
");
$result = $db->loadObjectList();
foreach ($result as $row){
$array[date("d D",$row->payment_date)]['wake'] += $row->wake;
$array[date("d D",$row->payment_date)]['chuck'] += $row->chuck;
}
foreach ($array as $k => $a) {
$out[] = "['{$k[payment_date]}', {$a[wake]}, {$a[chuck]}]";
}
?> 
<?php
echo implode(",", $out);
?>

最后一位应该变成类似[5 Thu,20,50]的内容,这就是需要进入谷歌条形图的内容。我希望它能在最后5天吐出来,但现在我只需要知道如何在一天内吐出来。任何帮助都将不胜感激!

目前还不完全清楚您想要实现什么,但如果您只是想计算每个表中的行数,我会使用两个单独的select语句来计算行数,如下所示:

select count(gam_id) from qsp_tiles

select count(mam_id) from qsp_orders

如果你想计算这两个表的共同行数,我会使用以下语句(它基本上与你已经使用的相同,只是在select中没有user_id字段,只有一个计数):

select count(t.user_id) from qsp_tiles t inner join qsp_orders o on t.user_id = o.user_id