0

我的表架构如下:

id  || image1   ||  image2  || image1vote  || image2vote || uid
1      abc.jpb      adc.jpg        50            40          12
2      bc.jpb       dc.jpg         20            70          13
3      kjc.jpb      ydc.jpg        20            10          10
4      pjc.jpb      mkc.jpg        80            60          10

我使用 MySQL 和 phpMyAdmin 作为我的后端。

我从前端上传了两个存储在数据库中的图像。对于这两个图像,我分别保存选票。投票image1存储在列image1vote中,而投票image2存储在列中image2vote

我的问题如下:我想要得票最多的图像的图像路径。所以,如果 image1 比 image2 有更多的投票,我想要的值image1和其他方式。

例如:在第一行中,我想要 的值,image1因为 in 的值image1vote大于 in 的值image2vote。在第二行,我想要 的值image2

4

2 回答 2

2

我还没有测试过,但如果我正确理解了你的问题,它应该是这样的:

SELECT 
  IF(image1vote >= image2vote, image1, image2) AS path,
  GREATEST(image1vote, image2vote) as votes
FROM imagetable
于 2013-10-06T15:27:30.337 回答
1

如果图像和他们的投票都在同一个表中,您可以使用案例来退休

SELECT 
id  ,
(CASE WHEN image1vote > image2vote THEN image1   
WHEN image1vote < image2vote THEN image2
WHEN image1vote = image2vote THEN image1 
END ) AS `images`,
(CASE WHEN image1vote > image2vote THEN image1vote  
WHEN image1vote < image2vote THEN image2vote 
WHEN image1vote = image2vote THEN image1vote   
END ) AS `votes`
,uid
 FROM `table`
于 2013-10-06T15:29:19.847 回答