如何从去年MySQL进入

时间:2011-01-14 00:32:43

标签: php mysql

这部分查询似乎无法正常工作

$iThisYear = date('Y');
$iLastYear = $iThisYear-1;

SELECT * FROM `{$this->_sPrefix}clicks` 
WHERE `affiliate_id` = '{$iAid}' 
AND `raw` = '1' 
AND YEAR(`date`) = '{$iLastYear}'

它仍然从今年开始。 YEAR有效吗?

4 个答案:

答案 0 :(得分:8)

您可以使用DATE_SUB吗

SELECT * FROM `{$this->_sPrefix}clicks` 
WHERE `affiliate_id` = '{$iAid}' 
AND `raw` = '1' 
AND YEAR(`date`) = YEAR(DATE_SUB(CURDATE(), INTERVAL 1 YEAR))

答案 1 :(得分:0)

date('Y')返回一个字符串。尝试从字符串中减去1可能会遇到问题。您应该尝试从时间戳中减去一年的秒数并获得该年份。我可能是错的,因为我知道php是松散类型的,我无法让我的xampp工作atm来测试它。祝你好运芽

答案 2 :(得分:0)

以下对我有用:

AND year = YEAR( NOW() ) - 1

回答这个问题以供将来参考。

祝你好运!!

答案 3 :(得分:0)

使用DATE_SUB

fun main(args: Array<String>) {
    val listOfThings = listOf("A", "B", "C", "A", "B", "C")
    val distinctThings = listOfThings.distinct()

    println(listOfThings)  // [A, B, C, A, B, C]
    println(distinctThings)  // [A, B, C]
}