gpt4 book ai didi

php - Mysql今天日期

转载 作者:行者123 更新时间:2023-11-29 05:16:00 25 4
gpt4 key购买 nike

我只想选择今天的记录?我正在使用这个查询:

$query = mysql_query (
"SELECT
tentego_img.*
FROM
tentego_img
INNER JOIN tentego_img_vote ON tentego_img.id = tentego_img_vote.object_id
WHERE
cat = '".$cat [ ' id ' ]."'
GROUP BY
tentego_img_vote.object_id
ORDER BY
SUM(
(
CASE
WHEN tentego_img_vote.vote = '0'
AND DATE(date) = DATE(NOW()) THEN
'1'
ELSE
'-1'
END
)
) DESC
LIMIT 1"
);

在此摘录代码中:

(CASE WHEN tentego_img_vote.vote = '0' AND DATE(date) = DATE(NOW()) THEN '1' ELSE '-1' END) 

如何选择今天的日期?

最佳答案

这是您的查询,已修复:

  • 使用表别名。
  • GROUP BY 更明显的表中的字段。
  • 避免单引号中的数值

这里是查询:

SELECT i.* 
FROM tentego_img i INNER JOIN
tentego_img_vote iv
ON i.id = iv.object_id
WHERE cat = '".$cat['id']."'
GROUP BY i.id
ORDER BY SUM(CASE WHEN iv.vote = 0 AND DATE(date) = DATE(NOW())
THEN 1 ELSE -1 END) DESC
LIMIT 1;

如果您只想从今天开始投票,那么将条件移动到 WHERE 子句:

SELECT i.* 
FROM tentego_img i INNER JOIN
tentego_img_vote iv
ON i.id = iv.object_id
WHERE cat = '".$cat['id']."' AND
DATE(date) = CURDATE()
GROUP BY i.id
ORDER BY SUM(CASE WHEN iv.vote = 0
THEN 1 ELSE -1 END) DESC
LIMIT 1;

更好的方法是使用不等式而不是函数:

WHERE cat = '".$cat['id']."' AND
(date >= CURDATE() AND
date < DATEADD(CURDATE(), interval 1 day)
)

这样更好,因为如果合适的话,它可以使用 date 上的索引。

关于php - Mysql今天日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32808820/

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