OracleSqlにて「GROUP BY」使用した日付のデータを取得するSql文を作成したのですが、
「ORDER by」句に「DESC」を付けても降順ソートが行えません。
作成したSql文は以下の通りなのですがなぜ降順ソートが行えないのでしょうか?
「GROUP BY」を使用するとソート出来ないと言うことなのでしょうか?
それとも日付型なのでソートが出来ないと言うことなのでしょうか?
どなたかご存知の方おりましたらご教授下さい。

-------------------------------------------------

SELECT TO_CHAR(RECORDDATE,'YYYY/MM/DD')
,RECORDYEAR
,RECORDMONTH
,RECORDDAY
FROM STOCKTBL
WHERE TO_CHAR(RECORDDATE,'YYYY/MM/DD')<='2002/03/07'
AND TO_CHAR(RECORDDATE,'YYYY/MM/DD')>='2002/02/22'
GROUP BY TO_CHAR(RECORDDATE,'YYYY/MM/DD')
,RECORDYEAR
,RECORDMONTH
,RECORDDAY
ORDER by TO_CHAR(RECORDDATE,'YYYY/MM/DD')
,RECORDYEAR
,RECORDMONTH
,RECORDDAY
DESC

-------------------------------------------------

このQ&Aに関連する最新のQ&A

A 回答 (1件)

ORDER by TO_CHAR(RECORDDATE,'YYYY/MM/DD') DESC


,RECORDYEAR
,RECORDMONTH
,RECORDDAY

でうまくいくと思います。外していたらごめんなさい。
    • good
    • 0
この回答へのお礼

sghさんすばやいお返事ありがとうございました。
早速試したところ、うまくいきました。
DESCはORDER BYの一番後ろだと思っていましたので、
TO_CHARの後ろへと持って行くとはまったく気がつきませんでした・・・
本当に困っていたのでとても助かりました。

本当にありがとうございました。

お礼日時:2002/03/08 16:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qdirectedの用法とこの文での意味

He has written a depressing record of destruction, DIRECTED not only
against the earth he inhabit but against the life that shares it with him.

SILENT SPRING の中の一文です。
DIRECTED は destruction にかかっていますか?
また、direct の数ある意味のなかでここではどういう意味で使われて
いるのでしょうか?

Aベストアンサー

ここのdirectedの意味は「~にむけられて」という感じになります。
directにはもともと何かの方向を指し示す言葉だというのはご存知と思います。

まず前半。(直訳します)
彼は破壊についての失望的な記録を書いた。となります。
その後にdirectedがありますね。

「記録」が、~に向けられているのか。
それとも
「破壊」が、~に向けられているのか。

記録ならば、世間の人々とか、読み手に、というふうな相手がdirected againstの後に続くでしょう。

ですがここではnot only A but Bがはさまって、この熟語の意味は「AだけでなくBも」という意味です。

ではAは何でしょうか「against the earth he inhabit」とありますね。
「彼の住んでいるこの地球」という意味ですね。

そしてBは、「against the life that shares it with him」ですね
「彼とそれ(地球のことでしょう。)をともにする、その生活」となります。

これは読み手ではありませんね。
破壊が向けられている先が、地球や、生活なんだ。ということです。

全訳してみましょう。

彼は、破壊についての失望的な記録を打ち出した。その破壊とは、彼の住んでいる地球に向けられたものだけでなく、それを彼とともにする生活にも向けられたものである。

これはカンマに忠実に訳しています。一度カンマを振ることで、向けられた先を強調しているんですね。ですから和訳するときには、訳し上げをせずに、前から順に話していきます。もしくはただ破壊、に対して修飾する語が、こうも長いのでカンマがあるだけ。それならば↓の訳。

もしdirected~himまでをしっかりdestructionにかけるのならば、こうなります。

彼は、彼の住んでいる地球や、それをともにする生活に向けられた破壊に関する失望的な記録をうちだした。

とこうすっきりした感じになりますね。

文法としては、ただの分詞だと思います。

a boy running in the parkとか a used carのように、現在分詞、過去分詞を使って名詞を修飾する用法ですね。
ここではdestructionに対してdirected~himまでが修飾にあたります。

どうでしょうか。

ここのdirectedの意味は「~にむけられて」という感じになります。
directにはもともと何かの方向を指し示す言葉だというのはご存知と思います。

まず前半。(直訳します)
彼は破壊についての失望的な記録を書いた。となります。
その後にdirectedがありますね。

「記録」が、~に向けられているのか。
それとも
「破壊」が、~に向けられているのか。

記録ならば、世間の人々とか、読み手に、というふうな相手がdirected againstの後に続くでしょう。

ですがここではnot only A but Bがはさま...続きを読む

QSQLiteManagerでOrder by DESCが使えない

Webベース型のSQLite管理ソフトを使おうとしているのですが、
なぜか Order by " " Descを打ちこんでも、
Order by " " Asc として認識されます。

ネットで検索しても類似例は見つからなくて、困っています。

なにか解決策ご存じの方はいませんか?

Aベストアンサー

どこで配布されているソフトでしょう?
配布元にバグ情報とか、QandAとか、質問受付ページとかないのですか?

Qp directed-broadcastとip forward-protocol

わけがありまして、今まで関係なかったシスコルータの
コンフィグに仕事で携わることになりまして
日々どうしたものかと右往左往中です(>_<)

質問のレベルもご存じの方からすればとても低いと
思いますが、よろしくお願いします。

さて、ip directed-broadcastとip forward-protocol
コマンドについて伺いたく存じます。

両方とも以下のサイトで詳細を記載しているのですが、
さっぱり意味がわかりません。
・ip directed-broadcastについて
 1.「指定ブロード キャストから物理ブロードキャストへの変換」
   とはどういうことでしょうか?

 2.このコマンドはどのような場面で使用するのでしょうか?

・ip forward-protocolについて
 1.「nd ― Network Disk(ND)データグラムを転送します。」
   とありますが、etwork Disk(ND)データグラムとは
   何でしょうか?

いろいろグーグったりしたんですが、上記について
わかりやすく記載しているものがなく非常に困っています。

何とぞご教授のほどお願い致します。

わけがありまして、今まで関係なかったシスコルータの
コンフィグに仕事で携わることになりまして
日々どうしたものかと右往左往中です(>_<)

質問のレベルもご存じの方からすればとても低いと
思いますが、よろしくお願いします。

さて、ip directed-broadcastとip forward-protocol
コマンドについて伺いたく存じます。

両方とも以下のサイトで詳細を記載しているのですが、
さっぱり意味がわかりません。
・ip directed-broadcastについて
 1.「指定ブロード キャストから物理ブロードキャス...続きを読む

Aベストアンサー

多少語弊があることをご了承ください。

・ip directed-broadcastについて
 1.「指定ブロード キャストから物理ブロードキャストへの変換」
   とはどういうことでしょうか?
>>ブロードキャストの中継です。
  例えば以下のようなネットワーク構成があるとします。
   ・事務所フロア (192.168.1.0/24) ;従業員が作業している部屋
      □ルーター(↑:eth0で接続、↓:eth1で接続)
   ・サーバールーム(192.168.100.0/24);サーバがある部屋
  
  通常、ブロードキャストはルーターの壁を越えられません。
  事務所のパソコンから、サーバールーム向けのブロードキャストがあった場合に、
  eth1を経由(指定する)してサーバルームへのブロードキャストに変換します。

 2.このコマンドはどのような場面で使用するのでしょうか?
>>例えば、
  事務所にあるOS(パソコン)を起動したとき、
  OSはIPアドレス取得のためブロードキャストを流します。
  (事務所のパソコンには固定IPを割り当てない前提)
  サーバルームにDHCPサーバがあった場合、
  運用管理フロアからサーバルームへの
  ブロードキャスト変換がされないと、IPアドレスを取得できません。
  そこで、ルーターに「ルータ越え」ができるような設定を行います。

  このように、ネットワークが異なる場所に対してブロードキャストを
  行うような場面で使用されています。
  その他の例として、Wake on Lan(遠隔のパソコンを起動させる)
  などがあります。

・ip forward-protocolについて
 1.「nd ― Network Disk(ND)データグラムを転送します。」
   とありますが、etwork Disk(ND)データグラムとは
   何でしょうか?
>>パケットと考えてよいと思います。(携帯電話のパケット代とか)
  NDって多分SUN-NDだと思うのですが、UDPとかと同じプロトコルです。
  #UDPしか指定したことないので、あまり自信がありません。

多少語弊があることをご了承ください。

・ip directed-broadcastについて
 1.「指定ブロード キャストから物理ブロードキャストへの変換」
   とはどういうことでしょうか?
>>ブロードキャストの中継です。
  例えば以下のようなネットワーク構成があるとします。
   ・事務所フロア (192.168.1.0/24) ;従業員が作業している部屋
      □ルーター(↑:eth0で接続、↓:eth1で接続)
   ・サーバールーム(192.168.100.0/24);サーバがある部屋
  
  通常、ブロードキ...続きを読む

Qgroup by句について

すいません。教えてください。
emp表からJobのデータが何種類あるか出力したいとき、

・ select count(distinct job) from emp;

はいいのに、

・ select count(job) from emp group by job;

がエラーになる理由を知っている方、教えてください。

Aベストアンサー

group by句はグループ化したい列に適用します。
ご質問の内容でSQL文を作成すると
select job,count(*) job_count from emp group by job;
となります。

結果は
job     job_count
PRESIDENT      1
MANAGER       10
CLEAK        20
の様になります(数字は適当です)。

Qsite-directed mutagenesis法

PCR法を使ったsite-directed mutagenesis法の原理を教えてください。
なんのための実験なのか、なにがしたいのかよくわかりません。
よろしくおねがいしますm(_ _)m

Aベストアンサー

なんのための言われたら
DNA配列の特定の位置に塩基の変異(や欠損や挿入)を入れるための方法です。
ここまでが方法の名前通りの意味です。
その実験で何がしたいかは全然別の問題ですので
ご質問の情報からは何も言えません。

http://www.sh.rim.or.jp/~kori/homepage/mutagenesis.pdf

メカニズムについてはこのあたりを見てみてください。

QANDの順番とGROUP BYについて

where句で、ANDを複数の項目指定する場合、項目の順番により検索速度は異なるのでしょうか?
又、GROUP BYを行う項目はインデックスを付けた方が検索速度は上がるのでしょうか?

Aベストアンサー

Where句の順番はかなり影響しますね。
SQLの解析は後ろからされますので、絞込みによる結果の件数が少なくなる条件を後ろの方に持っていくと速くなります。
IndexはGROUP BY項目よりWhere項目に付けた方が効果が期待できるのではないでしょか。

Qディスプレイにno signal directedと表示されます。

Prime A Galleria64とBenQ FP71G+
パソコンとディスプレイを同時に買い
昨日届いて起動しようとしたら
no signal directedと表示され画面に何も表示されません。
ケーブルを変えたり違うディスプレイに繋いだりしても
同じ症状が出ます。
ビデオカードを挿し直したりしても症状は改善されませんでした。
これはパソコンから入力信号自体が出ていないのでしょうか。

Aベストアンサー

> これはパソコンから入力信号自体が出ていないのでしょうか。

その通りだと思います。

新品で、接続を間違えていないのなら、初期故障ですので、修理ではなく、交換してもらいましょう。

普通は、ビデオカードを差し直したりしないで、すぐに交換してもらった方がいいです。いじっていると、交換には応じてくれなくなるおそれがあります。

QGROUP BYを使用したCOUNT

いつもお世話になっております。

現在下記のようなSQLを発行していまして、
件数を取得したいのですが、取得データの結果が
0件以外の時は良いのですが、0件の時は
「レコードが選択されませんでした」と表示されてしまいます。
何とか0件で表示できないでしょうか?

SELECT COUNT(*) FROM T_M_MAKER
HAVING MAKER_CD = '010'
GROUP BY MAKER_CD

苦し紛れに
SELECT DECODE(COUNT(*),'',0,COUNT(*)) FROM T_M_MAKER
HAVING MAKER_CD = '010'
GROUP BY MAKER_CD

というのもやってみましたが、結果は一緒でした。
どなたかお分かりになる方、回答をお願いします。

Aベストアンサー

こんにちわ。

RDBMS の種類が不明ですが、Oracle であれば
インライン・ビューで解決できます。
Select count(*) from (select ~ from T_M_MAKER
 group by ~ having ~);

Qdag(directed acyclic graph)であらわした算術式の計算

以下の問題が解けません。

1.演算子として+と*をもつ算術式の木から、共通の部分式をまとめてdagに変えるアルゴリズムを作れ。(Cでプログラムを作れ)

2.dagで表した算術式の値を求めるアルゴリズムを作れ。(Cでプログラムを作れ)

です。
<dagの説明は、閉路の無い有向グラフということと、共通の部分式をもつ算術式の文法的な構造を表すのに便利だという性質が書いてありました。>

分からない点は、どうやって共通の部分式を認識するのか、またどういうデータ構造(リスト?配列?)で処理したらよいかです。
例:((a+b)*c+((a+b)+e)*((a+b)*c)で、a+bや(a+b)*cは共有されている部分式であり、これを表す頂点には入ってくる弧が2本以上ある。

アドバイスで構わないので、よろしくお願いします。

Aベストアンサー

データ構造は基本的に算術式の木と同じで良いでしょう。

1.
まず部分式に対して一致を判定する関数を作ります。
この関数は部分式について再帰的に判定を行うように作ると良いでしょう。
例えばX1+Y1とX2+Y2の比較ならば、((X1とX2が一致)かつ(Y1とY2が一致))あるいは((X1とY2が一致)かつ(Y1とX2が一致))で(X1+Y1とX2+Y2が一致)となるわけです。

あとは算術式の木の部分式について一致する場合にどちらか一方を残して他方を置き換え(要するに部分式XとYが一致するならYをXで置き換える)、これ以上の置き換えができなくなる(XとYが一致する場合はXとYは同じ(ポインタ値を持つ))まで繰り返します。

2.
計算式の木を辿って末端から順に計算します。
ただし部分式に計算値を保持する変数と計算済みを判定する変数を用意し、一度計算した値は再度計算しないようにします。

Qaccess2003で「GROUP BY」を使用した場合の動作について

Microsoft Access 2003のクエリにてGROUP BY句を使用し集計を行う際に、
ひらがなとカタカナが一緒くたに集計されてしまいます。

区別して集計する事は可能でしょうか。

Aベストアンサー

Fieldという列が対象の場合、StrConv([Field],128)もしくはStrConv([Field],64)の項目を作ってGruop Byに加えてください。


人気Q&Aランキング

おすすめ情報