【问题标题】:mysql order by custom field with and list also these fields which are missing in custom listmysql 按自定义字段排序,并列出自定义列表中缺少的这些字段
【发布时间】:2017-11-15 13:15:37
【问题描述】:

我想查询mysql:

select field1, count(*) as c
from temporary table
group by field1
order by field(field1, 'XXX', 'YYY', 'ZZZ')

所以这是一个很好的小组,即:

XXX  ZZZ

454  321

但是,如果没有任何 YYY 值,因为 YYY 的 count(*)“返回 0”,这不会像 XXX 和 ZZZ 一样列出,并且不应因为空(或 null)字段而被跳过。

但我想要这个输出:

XXX  YYY  ZZZ

454    0  321

只有在mysql中才有可能吗?

提前非常感谢!

【问题讨论】:

  • 已编辑!如果我从因果表(不是临时)执行此查询,它会起作用!但为什么不是临时的??

标签: mysql


【解决方案1】:

不要使用 SELECT * 但你的字段列表 SELECT fields, fields1, fields2 如果您的结果为 NULL 或 0,您将拥有您的专栏

【讨论】:

  • 是的,谢谢,但是,我忘记了,我使用临时表进行此查询(从临时表中选择 field1),如果您从临时表中选择它不起作用,请执行你知道为什么?如果你从普通表中选择,它可以工作。
  • 对不起,如果有 where 子句,它也不起作用... :/ :( 为什么??
  • 您对创建临时表有什么要求?
  • CREATE TEMPORARY TABLE IF NOT EXISTS table2 AS (SELECT * from table3 where field !='') 所以我不认为这取决于它,因为如果你在正常情况下放置 where 子句查询(尝试使用因果表)然后它也不起作用。如果你删除 where 子句,它就像你伤心一样......
  • 当你创建你的表时,你有来自 YYY 的数据吗?
猜你喜欢
  • 2017-07-30
  • 2013-05-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-14
  • 1970-01-01
相关资源
最近更新 更多