繁体   English   中英

PHP MySQL计数和排序值

[英]PHP MySQL Counting and sorting values

我是新来的。 如果我在错误的地方提出问题或在先前的搜索中忽略某些内容而破坏了某种协议,我深表歉意。

我有一张标题为Art2011的桌子。

我正在三列中收集数据,并希望合并和计数类似的值。

painting1      painting2       painting3
-----------------------------------------
image6         image4          image3
image4         image1          image4
image8         image1          image3
image2         image9          image6
image6         image4          image3
image4         image1          image4
image8         image1          image3
image2         image9          image6

我将如何查询,计算和显示php中的结果,如下所示?

image1 = 4
image2 = 2
image3 = 4
image4 = 5
etc...

先感谢您! 麦可

尝试

SELECT t.image, COUNT(t.image)
FROM (
   SELECT painting1 as image FROM Art2011
  UNION ALL
   SELECT painting2 as image FROM Art2011
  UNION ALL
   SELECT painting3 as image FROM Art2011
) AS t
GROUP BY t.image

对于每个图像,您可以使用此查询来获取计数:

select count(1) from Art2011 where painting1 = 'image1' or painting2 = 'image1' or painting3 = 'image1'

添加到@ain的帖子:

$sql = "SELECT t.image as image, COUNT(t.image) as cnt FROM ( SELECT painting1 as image FROM Art2011 UNION ALL SELECT painting2 as image FROM Art2011 UNION ALL SELECT painting3 as image FROM Art2011 ) AS t GROUP BY t.image"; 
$result = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_assoc($result)) {
    echo $row['image']." = ".$row['cnt']."\n";
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM