MySQL5に、以下のような月刊雑誌目次データがあります。
mysequenceが通巻第●号、のような数字を表しています。
最新の3号(あるいは6号、12号)だったら
仮想カラム myflg=1と印をつけるSELECT文をご教示
いただけないでしょうか。
データ例では138~236号と途中を省略しまくってますが
実際は1号から数百号まであり、最新の3冊(あるいは6冊、12冊)
だったら、
if ($myflag = 1 ){
echo "<img src='./image/最新の3号.gif'>";
}
みたいな使い方をしたい次第です、よろしくお願い致します。
select *, (if( select (max(mysequence) - 3),1,0 ) as myflg) from mymagazine
みたいな雰囲気かと思いますが、left joinとか難しい照会が
必要でしょうか。よろしくお願い致します。
create table mymagazine (
mycode int(5) unsigned not null auto_increment comment '管理コード',
mypubyear int(4) default null comment '発行年',
mypubmonth int(2) default null comment '発行月',
mysequence int(3) default null comment '号',
mysortno int(2) default null comment '巻毎のソート番号',
mycategorycode int(2) default null comment '分類コード',
mytheme varchar(900) default null comment 'テーマ',
primary key( mycode )
) engine=InnoDB default charset=utf8 auto_increment =1;
insert into mymagazine ( mypubyear , mypubmonth , mysequence , mysortno , mycategorycode , mytheme )values(2005,7,138,1,99,''),(2005,7,138,2,1,'サッカー'),(2005,7,138,3,1,'サッカー'),(2005,7,138,14,16,''),(2005,7,138,15,15,''),(2005,8,139,4,1,'野球'),(2005,8,139,5,1,'野球'),(2005,8,139,17,17,''),(2005,8,139,18,17,''),(2005,9,140,1,99,''),(2005,9,140,2,1,'テニス'),(2005,9,140,3,1,'バスケ'),(2005,9,140,4,1,'バスケ'),(2005,9,140,5,1,'バスケ'),(2005,9,140,6,1,'水泳'),(2005,9,140,7,2,''),(2005,9,140,8,14,''),(2005,9,140,9,13,''),(2005,11,142,2,1,'柔道'),(2005,11,142,3,1,'剣道'),(2005,11,142,4,1,'剣道'),(2005,11,142,5,8,''),(2005,11,142,6,2,''),(2006,1,144,2,1,'卓球'),(2006,1,144,3,1,'卓球'),(2006,1,144,4,1,'バレー'),(2007,9,236,2,1,'陸上'),(2007,9,236,3,1,'陸上'),(2007,9,236,4,1,'陸上'),(2007,9,236,5,4,'ソフト'),(2007,9,236,6,5,'');
No.1ベストアンサー
- 回答日時:
これでよくない?
select t1.*,if(isnull(t2.mysequence),0,1) as myflg from mymagazine as t1
left join (select distinct mysequence from mymagazine order by mysequence desc limit 3) as t2
on t1.mysequence=t2.mysequence
yamabejpさん、うまくいきました、ありがとうございました!
マスター(mymaster)とも接続したくて、
~~mymagazine as t1, mymaster as t3 としてて30分ハマりました(^^;;;
~~ on t1.mysequence=t2.mysequence, mymaster as t3
とするのが正解だったのですね(激恥)
ともかく非常に助かりました、ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL my_itemsテーブルのIDにAUTO_INCREMENT を追加ができるかで 1 2023/01/03 09:09
- MySQL SHOW CREATE TABLE posts;これって何ですか? 3 2022/08/28 22:57
- MySQL `picture` varchar(255) のコマンドで間違いないでしょうか? 1 2022/11/21 04:08
- MySQL エラー 1068 (42000): 複数の主キーが定義されていますエラー 2 2022/11/17 04:36
- MySQL あと、MySQLの文字コードはutf8 気になりますね 1 2022/12/01 07:22
- MySQL テーブル作成です。どこかのスペルが間違っているか記号など スペースかな? 1 2022/10/01 05:08
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- MySQL MySQLのテーブル作成で 自信がありません。 2 2022/08/28 05:35
- PHP php テーブルが作成できない 1 2022/11/17 23:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLです!!教えてください。
-
テーブル名が可変の場合のクエ...
-
SQLです。あってますか?↓
-
エラー 1068 (42000): 複数の主...
-
下記の問合せを行うクエリを、P...
-
#1062 - '0' は索引 'PRIMARY' ...
-
下記の問合せを行うクエリを、P...
-
【初歩】ラジオボタンをつかっ...
-
SQLです下記の問合せを行うクエ...
-
下記の問合せを行うクエリを、 ...
-
下記の問合せを行うクエリを、P...
-
PhpMyAdminで作成して実行せよ...
-
mysqlがインストールされている...
-
下記の問合せを行うクエリを、P...
-
MySQLのテーブル作成でハイフン...
-
BGMを教えてほしいです!
-
AWSのRDSを無料枠で使用してお...
-
2つのテーブルを結合するときに...
-
SQLでカラムを追加し、条件に合...
-
レコードの削除で delete from ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Null値が入れられない
-
NULLを含む列の足し算
-
SQLでLIMIT句を入れるとエラー...
-
nullと同じく空白をCountしない...
-
MySQLの特定のカラムの内容を全...
-
テーブル作成時に、「`id` int(...
-
SQL文を入力したらエラー
-
phpとSQLで複数条件で検索する...
-
MySQLで関連したデータを横に並...
-
VIEWに対してWHERE句をつける
-
空白文字を含む文字列データの検索
-
後でemailに追加でPRIMARY KEY...
-
SQL任意に並び替えをしたい
-
sqlの中で、 例えば条件句で AN...
-
コマンドプロンプト 実行結果...
-
SELECT文の二段重ね
-
count()の結果を別の計算で使う...
-
JOIN使ってないのに、JOIN操作...
-
コマンドプロンプト 複数の実...
-
MySQL + PHP での自動採番
おすすめ情報