スレッド表示 | フラット表示〕 全トピック 920 件中 907 番目 次≫ ≪前

php+MySQL+Apacheで

created: 2003-02-10 15:03 | modified: 2003-02-12 09:33 | reply: 2

[120] php+MySQL+Apacheで

user: sami | created: 2003-02-10 15:03
こんにちは。
重複したデータを一つだけ取り出して表示する場合は
$sql= "SELECT DISTINCT * FROM データベース名";
ですが、
重複したデータを一つだけデータベースに残す場合(重複したデータをデータベースから消去する場合)はどうすればいのでしょうか?
reply: 121 返信 編集 削除

[121] 重複したレコードを一つだけ残す方法

user: ゆうじ ホームページ | created: 2003-02-12 00:23
ご質問の件は、PHPというより、SQL文ですよね。
これも勉強だと思い、調べてみたのですが、
ぴったりの答えが見つけられませんでしたので、
ちと考えました。

// 1.非重複レコードを抽出し、テンポラリーテーブルを作成
create table テンポラリーテーブル as select distinct * from 元テーブル;

// 2.元テーブルを空にする
truncate table 元テーブル;

// 3.元テーブルに、テンポラリーテーブルを追加
insert into 元テーブル select * from テンポラリーテーブル;

// 4.テンポラリーテーブルを削除
drop table テンポラリーテーブル;

これらのSQL文を、mysql_query() で、
順番にリクエストしてやると出来ました。

DELET文を使ってもっとスマートに出来そうですが、
それだとレコード数が多いほど、
処理が遅くなるように思います。

SQLそのものに不慣れなため、これでいっぱいいっぱいです。
Parent: 120  reply: 122 返信 編集 削除

[122] どうもありがとうございます

user: sami | created: 2003-02-12 09:33
わざわざどうもありがとうございました。
お手数おかけしてすみません。
がんばってやってみます。
Parent: 121  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 907 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑