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ランキング
-
#1062 - '0' は索引 'PRIMARY' ...
-
テーブル名が可変の場合のクエ...
-
SQLです。こんな感じですか?あ...
-
下記の問合せを行うクエリを、P...
-
下記の問合せを行うクエリを、P...
-
下記の問合せを行うクエリを、P...
-
mysqlがインストールされている...
-
下記の問合せを行うクエリを、P...
-
クエリを教えてください select...
-
SQL任意に並び替えをしたい
-
下記の問合せを行うクエリを、P...
-
mysqlがインストールされている...
-
東京23区を、皇居を中心とした...
-
書籍の内容はまともでしょうか?
-
MySQL NULLだけをカウントして...
-
本を見ながらPHPを勉強している...
-
うまくいきません教えてくださ...
-
「都道府県の面積の大きい順に...
-
あっってますか?うまくいきま...
-
[1000地域 × 10カテゴリー = 1...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Null値が入れられない
-
NULLを含む列の足し算
-
SQLでLIMIT句を入れるとエラー...
-
MySQLの特定のカラムの内容を全...
-
nullと同じく空白をCountしない...
-
テーブル作成時に、「`id` int(...
-
SQL文を入力したらエラー
-
phpとSQLで複数条件で検索する...
-
MySQLで関連したデータを横に並...
-
VIEWに対してWHERE句をつける
-
空白文字を含む文字列データの検索
-
後でemailに追加でPRIMARY KEY...
-
sqlの中で、 例えば条件句で AN...
-
SQL任意に並び替えをしたい
-
コマンドプロンプト 実行結果...
-
count()の結果を別の計算で使う...
-
SELECT文の二段重ね
-
JOIN使ってないのに、JOIN操作...
-
コマンドプロンプト 複数の実...
-
SQLのエイリアス
おすすめ情報