- PR -

古いものを見るには?

投稿者投稿内容
未記入
大ベテラン
会議室デビュー日: 2003/11/24
投稿数: 121
投稿日時: 2004-08-27 09:28
引用:

MySQLで同じSQL実行したらエラーになりました



最新の動向を追えていない たーぞうという人は使えないって言ってたけど、
MySQL でもサブクエリをサポートしてるみたいですよ。
ただ、FROM節で相関サブクエリ(ぼんじぃさんの例)は、まだサポート
されていないそうなので、相関サブクエリを使用する場合は、
select節に記述する必要があるようです。

(訂正)ぼんじぃさんの例は相関じゃないですね。実行できないのは MySQL が
古いからとかじゃないですか? MySQL は最近使ってないので知りませんが…。

[ メッセージ編集済み 編集者: 未記入 編集日時 2004-08-27 09:36 ]
たーぞう
ぬし
会議室デビュー日: 2003/08/08
投稿数: 317
お住まい・勤務地: お花畑
投稿日時: 2004-08-27 09:39
MySQLでサブクエリをサポートするのはバージョン4.1以降ですが、バージョン4.1は
未だBeta版なので、使用をお勧めできるような代物ではありませんな。

# 恥の上塗りってやつですか
未記入
大ベテラン
会議室デビュー日: 2003/11/24
投稿数: 121
投稿日時: 2004-08-27 10:14
引用:

MySQLでサブクエリをサポートするのはバージョン4.1以降ですが、バージョン4.1は
未だBeta版なので、使用をお勧めできるような代物ではありませんな。



今、一生懸命調べてきたんですか? 健気ですね。

はじめはベータであることにも触れていませんでしたね?
知らなかったなら、知らなかったと言えばいいのに。おもしろい人だなあ。
はにまる
ぬし
会議室デビュー日: 2003/12/19
投稿数: 969
お住まい・勤務地: 誤字脱字の国
投稿日時: 2004-08-27 10:39
ちょいと調べてみました。

 rownumは、Postgresにもあったのね...
 rownumは、Oracleだけのモノかと思っていました。

 でも、Postgresも副問合せが利用可能なので
 問題無いと思われます。

で、レス主の投稿文書を読み直したら...
ID毎の最初のレコードだったんですね失礼。

って事で考え方の訂正です。
「ID毎の古い日付の結果を取得し」それを
抽出条件として「レコードを抜き出す」
です。ハイ。

# 勝手な想像の一部を削除。てへ。


[ メッセージ編集済み 編集者: はにまる 編集日時 2004-08-27 10:42 ]
未記入
大ベテラン
会議室デビュー日: 2003/11/24
投稿数: 121
投稿日時: 2004-08-27 10:46
引用:

 rownumは、Postgresにもあったのね...
 rownumは、Oracleだけのモノかと思っていました。



PostgreSQL はかなり Oracle を意識してますからね。
関数なんかもほとんど同じなので、いざというときは、
Oracle 対応のリファレンスを流用できて便利です。
みけ
会議室デビュー日: 2003/09/03
投稿数: 13
投稿日時: 2004-08-30 10:00
たーぞう様、まゆりん様、未記入様、ぼんじい様、はにまる様、
ご回答ありがとうございました。
また、返信が遅くなり申しわけございませんでした。

よくよく自分の質問を見てみると、RDBMSの記述が抜けておりました。
次回投稿時には気をつけます。
>はにまる様、ご指摘ありがとうございます。

SQLはずっと触ってきて、大体のことはできていたつもりだったのですが、
基本的なGROUP関数や結合等がわかってないようではまだまだですね。

要精進ってことで、頑張ります。
#ちょっと調べるだけであまり時間がなかったため、
#ぼんじい様のコードを使用させていただきデータを抽出いたしました。
ぷさいくろう
ぬし
会議室デビュー日: 2006/08/30
投稿数: 1034
投稿日時: 2006-10-06 10:18
引用:

たーぞうさんの書き込み (2004-08-27 08:50) より:
SELECT SUBSTR(MIN(CONCAT(CAST(DATE AS CHAR),DATA)),11)
FROM TABLE
GROUP BY ID

てなとこですか。
MySQLのSQLで記述してます。



コード:
SELECT ID,DATE,DATA 
FROM TABLE A LEFT JOIN TABLE B
ON A.ID = B.ID
AND A.DATE > B.DATE
WHERE B.ID IS NULL



でもええよ

スキルアップ/キャリアアップ(JOB@IT)