小编Mār*_*ovs的帖子

使用GROUP_CONCAT在查询中忽略LIMIT

我需要从第二个表中选择一些行,并用逗号分隔的字符串连接它们.除了一个问题之外,查询工作正常 - 它总是选择所有行并忽略LIMIT.

这是我的查询的一部分,它获取该字符串并忽略LIMIT:

select 
    group_concat(value order by `order` asc SEPARATOR ', ') 
from slud_data 
    left join slud_types on slud_types.type_id=slud_data.type_id 
where slud_data.product_id=18 and value!='' and display=0 limit 3;


// Result:
+---------------------------------------------------------+
| group_concat(value order by `order` asc SEPARATOR ', ') |
+---------------------------------------------------------+
| GA-XXXX, Bentley, CONTINENTAL FLYING SPUR, 2006         |
+---------------------------------------------------------+

// Expected result: (only 3 comma-separated records, not 4)
Run Code Online (Sandbox Code Playgroud)

完整查询:

SELECT *,product_id id,
    (select group_concat(value order by `order` asc SEPARATOR ', ') from slud_data left join slud_types on slud_types.type_id=slud_data.type_id …
Run Code Online (Sandbox Code Playgroud)

mysql sql

9
推荐指数
2
解决办法
6774
查看次数

将嵌套集模型转换为<ul>但隐藏"已关闭"子树

基于将修改后的预订树遍历模型(嵌套集)转换为<ul>

其中一个答案给出了正确的代码来显示完整的树.我需要的是始终显示第一级(深度= 0)和兄弟姐妹+孩子的活动列表项.目标是当用户选择列表项时扩展树的可见部分,该列表项是更多列表项的父项.

所以,如果我有这个清单:

1. item
2. item
  2.1. item
  2.2. item
    2.2.1. item
    2.2.2. item
    2.2.3. item
  2.3. item
  2.4. item
    2.4.1. item
    2.4.2. item
3. item
4. item
  4.1. item
  4.2. item
    4.2.1. item
    4.2.2. item
5. item
Run Code Online (Sandbox Code Playgroud)

如果当前列表项为"2",则列表应如下所示:

1. item
2. item // this needs class .selected
  2.1. item
  2.2. item
  2.3. item
  2.4. item
3. item
4. item
5. item
Run Code Online (Sandbox Code Playgroud)

如果当前列表项是"2.2.",列表应如下所示:

1. item
2. item // this needs class .selected
  2.1. item
  2.2. item // …
Run Code Online (Sandbox Code Playgroud)

html php arrays traversal nested-sets

9
推荐指数
1
解决办法
6147
查看次数

"未知列",因为子查询子查询

我需要在子查询中执行子查询,导致'where子句'中的"未知列't1.product_id'".在我的例子中,它在第7行.如何解决这个问题呢?

SELECT *,product_id id,
    (SELECT GROUP_CONCAT (value ORDER By `order` ASC SEPARATOR ', ') 
    FROM (
        SELECT `order`,value 
        FROM slud_data 
        LEFT JOIN slud_types ON slud_types.type_id=slud_data.type_id 
        WHERE slud_data.product_id = t1.product_id 
          AND value!='' AND display=0 
        LIMIT 3
    ) tmp) text
FROM slud_products t1 
WHERE 
    now() < DATE_ADD(date,INTERVAL +ttl DAY) AND activated=1
    ORDER BY t1.date DESC
Run Code Online (Sandbox Code Playgroud)

在使用GROUP_CONCAT查询时忽略了LIMIT的问题

mysql sql subquery mysql-error-1054

1
推荐指数
1
解决办法
5798
查看次数

标签 统计

mysql ×2

sql ×2

arrays ×1

html ×1

mysql-error-1054 ×1

nested-sets ×1

php ×1

subquery ×1

traversal ×1