Re: [PHP-DEV] SQLite - Unwanted values using group-by

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Jul 8, 2012 at 12:07 AM, Simon Schick <simonsimcity@xxxxxxxxx> wrote:
> Hi, All
>
> May you have an idea ...
>
> Here's the full code-example:
> http://viper-7.com/M5mldG
>
> I have the following SQL command:
>
> SELECT max(r.month+r.year*100), r.year, r.month
> FROM base b LEFT JOIN remote r ON b.id = r.remote_id
> GROUP BY r.remote_id
>
> Now I expect that the first column in the results should look like a
> combination of the second and third one .. so f.e. this:
> array(3) { ["max(r.month+r.year*100)"]=> string(6) "201201" ["year"]=>
> string(4) "2012" ["month"]=> string(2) "01" }
>
> But instead I get this result:
> array(3) { ["max(r.month+r.year*100)"]=> string(6) "201201" ["year"]=>
> string(4) "2011" ["month"]=> string(2) "12" }

Both of the results are valid outcomes. I think you don't understand
the GROUP BY clause well enough. The parameters in the SELECT clause,
should be either
1) an aggregate function (like the max function you're using)
2) one of the parameters in the GROUP BY clause.
If not one of the above, it will return 'random' values for r.month
and r.year. (probably the first it finds, which might differ in your
test cases)

- Matijn



- Matijn

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux