i've used GROUP_CONCAT to get results splitted by comma (,
), but when i saw, the GRUP_CONCAT
returned only 205 splitted numbers, but in the database there's 2448 results (different aid
). Here is my query:
SELECT GROUP_CONCAT(`aid`) As favoriti
FROM `z_web_favoriti`
WHERE `kup_id`='1' AND `pos_id`='571'
When i execute:
SELECT DISTINCT `aid`
FROM `z_web_favoriti`
WHERE `kup_id`='1' AND `pos_id`='571'
I get the following result: Showing rows 0 - 29 (2448 total,..)
Anyone has some solution why it isn't working? I've searched on stackoverflow for similar problem, but i couldn't find it..
I'm using GROUP_CONCAT() in a MySQL query to convert multiple rows into a single string. However, the maximum length of the result of this function is 1024 characters.
The difference here is while CONCAT is used to combine values across columns, GROUP_CONCAT gives you the capability to combine values across rows. It's also important to note that both GROUP_CONCAT and CONCAT can be combined to return desired results.
The GROUP_CONCAT() function in MySQL is used to concatenate data from multiple rows into one field. This is an aggregate (GROUP BY) function which returns a String value, if the group contains at least one non-NULL value. Otherwise, it returns NULL.
The SQL Server Equivalent to GROUP_CONCAT() This function allows you to return a result set as a comma-separated list, as opposed to listing each row as a separate row (as with a normal result set).
Probably you have exceeded GROUP_CONCAT maximum length.
The result is truncated to the maximum length that is given by the group_concat_max_len system variable, which has a default value of 1024. The value can be set higher, although the effective maximum length of the return value is constrained by the value of max_allowed_packet. The syntax to change the value of group_concat_max_len at runtime is as follows, where val is an unsigned integer:
SET [GLOBAL | SESSION] group_concat_max_len = val;
Please try below code.
SET GLOBAL group_concat_max_len=15000;
SELECT GROUP_CONCAT(`aid`) As favoriti
FROM `z_web_favoriti`
WHERE `kup_id`='1' AND `pos_id`='571'
Hope this will helps.
By default, the maximum length for group_concat()
is 1,024.
You can change this to a larger value by changing the value of the system variable group_concat_max_len
.
The documentation explains this.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With