gpt4 book ai didi

mysql - 需要有关根据用户选择对图库进行排序的 sql 查询的帮助

转载 作者:行者123 更新时间:2023-11-29 22:36:57 25 4
gpt4 key购买 nike

对于我的网站,我有一个图片库,我希望用户能够按标题升序、标题降序和情感对图库进行排序。这个网站是为患有痴呆症的人设计的,所以我正在记录图像中积极或消极的情绪 react 。

我的标题 asc 和 desc 查询正在运行,但在按情感排序的最终查询上遇到了困难。

我的数据库有以下设置:

  1. images : id, title, ...etc//存储图像和属性

  2. imageaccess : imageID, userID//存储谁有权查看图像

  3. imageemotion : imageID, userID, happyCount, SadCount//存储图像引发的情绪

到目前为止,这是我提出的查询,但它不起作用:

SELECT * FROM images WHERE EXISTS (SELECT * FROM imageaccess WHERE imageaccess.imageID=images.id AND imageaccess.userID='$currentUserID') FULL OUTTER JOIN imageemotions ON imageemotions.imageID=images.id ORDER BY imageemotions.happyCount DESC  

基本上,我需要一个查询,该查询将返回用户有权访问的所有图像,并按“happyCount”对结果进行排序。目前,只有当用户注册 happyCount 或 SadCount 时,图像才会添加到“imageemotion”表中,但是如果这会使查询更容易,我可以更新网站,以便每个图像都包含 0 的快乐和悲伤计数.

真的希望这是有道理的,我知道它相当复杂......任何帮助将不胜感激!

非常感谢:)

最佳答案

请尝试以下查询:

SELECT 
images.*,
IFNULL(imageemotions.happyCount, 0) AS happyCount,
IFNULL(imageemotions.sadCount, 0) AS sadCount
FROM
images
INNER JOIN imageaccess
ON imageaccess.imageID = images.id
LEFT OUTER JOIN imageemotions
ON imageemotions.imageID = images.id
WHERE
imageaccess.userID = '$currentUserID'
ORDER BY
IFNULL(imageemotions.happyCount, 0) DESC

关于mysql - 需要有关根据用户选择对图库进行排序的 sql 查询的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29504375/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com