gpt4 book ai didi

MySQL GROUP 除非值等于 0

转载 作者:行者123 更新时间:2023-11-29 06:07:57 25 4
gpt4 key购买 nike

我想要一个将结果组合在一起的查询,除非 job_num = 0 的值,但我一直无法弄清楚如何去做。

这是我目前的查询(并且不起作用,我收到一个 SQL 错误)...

SELECT SQL_CALC_FOUND_ROWS * FROM calls 
WHERE parent_id = '$term' GROUP BY IF (job_num != 0)
ORDER BY date_start DESC LIMIT $page_position, $item_per_page

我尝试用 job_num IS NOT NULL 替换 job_num != 0 并得到相同的结果。

在我尝试排除 job_num != 0

之前,查询的其余部分工作正常

这是表格的简化版本

id | call_ref | job_num
_______________________

1 | 123445 | 2389
_______________________

2 | 342537 | 0
_______________________

3 | 876483 | 2389
_______________________

4 | 644686 | 5643
_______________________

5 | 654532 | 0

我想对 job_num != 0 的行进行分组,但我仍然想显示 job_num = 0 的行,只是没有分组在一起。 call_ref 不是唯一的,表中还有 31 列我需要它们的值。

使用上面的示例,id 为 1 和 3 的行将被分组,而 2,4 和 5 仍将返回结果但不分组。

我想要的结果...

1 和 3 分组(因为 job_nums 相同但是 != 0)2, 4, 5 未分组

最佳答案

你能用 UNION 试试吗?

(SELECT SQL_CALC_FOUND_ROWS * FROM calls 
WHERE parent_id = '$term' where job_num != 0 GROUP BY (job_num)
ORDER BY date_start DESC LIMIT $page_position, $item_per_page)
UNION
(SELECT SQL_CALC_FOUND_ROWS * FROM calls
WHERE parent_id = '$term' where job_num = 0
ORDER BY date_start DESC LIMIT $page_position, $item_per_page);

关于MySQL GROUP 除非值等于 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40193886/

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