【问题标题】:Group by and Order by in the same select [duplicate]Group by 和 Order by 在同一个选择中[重复]
【发布时间】:2014-02-13 17:54:43
【问题描述】:

我有这个查询:

  SELECT MODELLI.MOD_DESC, 
         COUNT(MOD_DESC)
    FROM VEGA.DISTRIB AS DISTRIB, 
         VEGA.MODELLI AS MODELLI
   WHERE DISTRIB.DIS_FLAG = 'M' 
     AND DISTRIB.DIS_MOD = MODELLI.MOD_COD
   GROUP BY MODELLI.MOD_DESC

但我也想在 MODELLI.MOD_DESC 上有 ORDER BY。

我该怎么做?

谢谢。

【问题讨论】:

  • mod_desc 按顺序分组后不起作用????/?
  • 不。不要工作。是oracle db的问题?
  • 你能决定你有什么数据库吗?甲骨文还是 MySQL?
  • 甲骨文,对不起。错误标签
  • 不工作”不是可接受的错误描述。请发布您收到的完整错误消息。

标签: sql oracle


【解决方案1】:

试试,

SELECT MODELLI.MOD_DESC, COUNT(MODELLI.MOD_DESC)
FROM VEGA.DISTRIB DISTRIB, VEGA.MODELLI MODELLI
WHERE DISTRIB.DIS_FLAG = 'M' AND DISTRIB.DIS_MOD = MODELLI.MOD_COD
GROUP BY MODELLI.MOD_DESC ORDER BY MODELLI.MOD_DESC

它将按照 OP 的建议工作..

现在试试这个..

【讨论】:

  • 我收到一个错误。我正在开发一个 Oracle 数据库
  • System.Runtime.InteropServices.COMException: [Microsoft] [Oracle ODBC 驱动程序] [Oracle] ORA-00923: FROM 关键字未在预期位置找到
  • 编辑了上面的代码...现在试试
  • 现在可以用了吗...???
  • COUNT(MOD_DESC) 改为 COUNT(MODELLI.MOD_DESC)
【解决方案2】:

您可以在GROUP BY 子句之后使用ORDER BY 子句,例如,

SELECT MODELLI.MOD_DESC, 
       COUNT(MOD_DESC)
FROM   VEGA.DISTRIB DISTRIB, 
       VEGA.MODELLI MODELLI
WHERE  DISTRIB.DIS_FLAG = 'M' 
AND    DISTRIB.DIS_MOD = MODELLI.MOD_COD
GROUP BY MODELLI.MOD_DESC
ORDER BY MODELLI.MOD_DESC;

【讨论】:

  • 我收到一个错误。我正在开发一个 Oracle 数据库
  • @Alist3r,告诉我们你的错误。
  • System.Runtime.InteropServices.COMException: [Microsoft] [Oracle ODBC 驱动程序] [Oracle] ORA-00923: FROM 关键字未在预期位置找到
  • @Alist3r,请尝试我更新的答案。我已经从第 2 行和第 3 行中删除了 AS
【解决方案3】:
SELECT MODELLI.MOD_DESC, COUNT(MOD_DESC)
FROM VEGA.DISTRIB AS DISTRIB, VEGA.MODELLI AS MODELLI
WHERE DISTRIB.DIS_FLAG = 'M' AND DISTRIB.DIS_MOD = MODELLI.MOD_COD
GROUP BY MODELLI.MOD_DESC
order by MODELLI.MOD_DESC ASC

【讨论】:

  • 我收到一个错误。我正在开发一个 Oracle 数据库
猜你喜欢
  • 1970-01-01
  • 2013-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-28
  • 2017-02-06
相关资源
最近更新 更多