人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile


●質問者: radio3
●カテゴリ:コンピュータ
✍キーワード:2005-03-01 3/3 3月1日 name SELECT
○ 状態 :終了
└ 回答数 : 9/9件

▽最新の回答へ

6 ● mj99
●15ポイント

http://www.yahoo.co.jp/

Yahoo! JAPAN

あー。連投です。申し訳ありません。


例にしてるのは、NOT EXISTSで3/1以前を除外しようとしたのですね。。よく読んでなかった。ごめんなさい


SELECT COUNT(`name`) FROM (SELECT distinct `name` FROM table WHERE `date` < ’2005-03-01’);


7 ● kuma00
●15ポイント

http://www.hatena.ne.jp/1126596476#

人力検索はてな - date name ---- ---------- 1/1 深田恭子 2/1 長谷川京子 3/1 伊東美咲 3/2 長谷川京子 3/3 松下奈緒 3/4 伊東美咲 3月1日以降に、初めて登場した人は何人か? を求めるSQL..

これでどうでしょう

SELECT count(distinct ’name’) FROM ’table’

WHERE ’name’ NOT IN (SELECT ’name’ FROM ’table’ WHERE ’date’ < ’2005-03-01’)

◎質問者からの返答

皆さんありがとうございます。

MySQLだからダメのようですね。

下記1、2ともに○ですが、3にしたとたんエラーです。

1.

select * from table where name not in (’伊東美咲’)

2.

select name from table

3.

select * from table where name not in (

select name from table

)


8 ● pm94
●10ポイント

http://www.excite.co.jp/?c=1

Excite エキサイト

■テスト

create table `table` (`date` date, `name` varchar(10));


insert into `table` values(’2005/01/01’,’a’);

insert into `table` values(’2005/02/01’,’b’);

insert into `table` values(’2005/03/01’,’c’);

insert into `table` values(’2005/03/02’,’b’);

insert into `table` values(’2005/03/03’,’d’);

insert into `table` values(’2005/03/04’,’c’);


■これで出来ます

select count(*) from (select distinct `name` from `table` where `date` >= ’2005/03/01’) as x;


----

MySQLってサブクエリに別名が必須だったのですね。。。。

◎質問者からの返答

ありがとうございます。

しかし、こちらではなぜか通りません。

上記のselect...も

下記のようなのさえ通りません。

select count(*) from( select `name` from `table`) as `x`;

MySQLのメッセージ -->

#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ’select `name` from `table`) as `x`’ at line 1

嫌になってきましたね(^^; 皆さんすみません。


9 ● pm94
●15ポイント

http://www.rakuten.co.jp/

【楽天市場】Shopping is Entertainment! : インターネット最大級の通信販売、通販オンラインショッピングコミュニティ

orz。。。。


>3月1日以前にも登場しているのでカウントから除外


質問良く読もう、、、


select count(*) from(

select distinct `name` from `table`

where `name` not in(select `name` from `table` where `date` < ’2005/03/01’)) as x;


count(*)

--------------------+

2


select @@version


@@VERSION

----------+

4.1.12-log


回答7についている、質問者コメント内の3番が通らないのはバージョンのせいなのかな


あ、ちなみに、

ここのSQL普通にコピーペーストすると、シングルクォートが全角になっているので使えません。半角に置き換えてください。

◎質問者からの返答

select @@version

4.0.22-standard-log

この程度のが通らないDBだった、ということですかね(:_;)


6-9件表示/9件
4.前5件|次の5件6.
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ